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

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

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

22 ответов

22 просмотра

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

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

А интерфейс на уровне датасорса может быть? Допустим есть 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, а реализация в...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта