214 похожих чатов

1. Репозиторий без интерфейса? А смысл? Репозиторий как раз и

нужен, чтобы скрыть источники данных за интерфейсом. В интерфейсе репозитория используются модели domain. И сам интерфейс принадлежит domain. А имплементация - как раз принадлежит data. И там всякие dao, ретрофит и т.п. (отвечая на 2)

22 ответов

6 просмотров

Хм, о вопросе сокрытия реализации я что-то не подумал. Благодарю)

Репозиторий может быть без интерфейса, если нет необходимости подменять реализации. Ещё ни разу не встретил такой необходимости (не участвовал в проектах с большим покрытием тестов, где требовалось бы подменять репозитории)

А интерфейс на уровне датасорса может быть? Допустим есть 3 разных метода получения одинаковых данных. Можно же выделить какой нить IDataSource и сделать 3 реализации его?

Vitaly Peryatin
Репозиторий может быть без интерфейса, если нет не...

А где вы в таком случае держите интерфейс? В data или domain?

Viktor
А где вы в таком случае держите интерфейс? В data ...

У меня нет интерфейса для репозитория, нигде не держу)

Viktor
А где вы в таком случае держите интерфейс? В data ...

интерфейса нет, а репозиторий лежит в data) у нас тоже нет лишних интерфейсов ради интерфейсов)

Pavel- Автор вопроса
Vitaly Peryatin
У меня нет интерфейса для репозитория, нигде не де...

Получается, domain знает об имплементации репозитория. Не гуд.

Pavel
Получается, domain знает об имплементации репозито...

Да, по книжкам не гуд. На практике большой буст в разработке и никаких неудобств, если знать где применять такое можно, а где не стоит

Vitaly Peryatin
Да, по книжкам не гуд. На практике большой буст в ...

это какой такой буст? имеется ввиду экономия времени на нажатие alt+enter enter?

Andrey
это какой такой буст? имеется ввиду экономия време...

Экономия времени на: - Переход между интерфейсами и реализациями - Создании интерфейсов - Мыслетопливе, чтобы разбираться в сложной иерархии

Vitaly Peryatin
Экономия времени на: - Переход между интерфейсами...

понятно, спасибо за ответ во дураки dependency inversion придумали, не хотят экономить на переходах между интерфейсами и реализациями

Andrey
понятно, спасибо за ответ во дураки dependency in...

Ну просто для всякой задачи есть своё решение. Для большинства проектов интерфейсами покрывать репозитории не надо. Но есть те, где приходится прибегать к более сложным реализациями

Jorik Fat
dip для других задач нужен

так интерфейс репозитория в domain, а реализация в data - это же классический dependency inversion, не?

Egor Sigolaev
А интерфейс на уровне датасорса может быть? Допуст...

DataSource это источник данных (database/network/filesyste) и у одного источника может быть много методов получения данных

Andrey
так интерфейс репозитория в domain, а реализация в...

классический. Но это же не означает, что его нужно всегда применять

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
108
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
@helgispbru @Dreamer_0x01 @Pathologic93 @webber_12 Не уверен, что вам всем это жутко интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правил...
Андрей [aharito] Харитонов
13
Всем, привет! Подскажите, пожалуйста, самую лёгкую, быструю, лаконичную и адаптивную тему для WP? Бесплатно или чтобы можно было в РФ оплатить доступ к теме. Раньше брал на...
Евгений Грак
14
Подскажите как лучше работать с датой, [+createdon+] возвращает 1716194822, нужно преобразовать в 20.05.2024, к примеру. Это делать на стороне evolution лучше или через скрипт...
Никита Ковалёв
11
@rouse_79 а ты не знаешь простого способа определить что приложение запущено из под среды delphi?
Михаил
16
Карта сайта