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

Не будем забывать, что clean - это прежде всего, простота

разработки и поддержки кода.
Если возникает необходимость полдня чесать репу и думать что куда поместить - то нафиг тогда этот clean?
По опыту репозиторий лучше воспринимать как тонкую обертку (=data source).
Объясню почему.
Вот вы, джедай клина, пишите репозиторий, который объединяет 2 дата-сорса (net и db). Ok, всё круто.
Потом приходит другой разраб. Ага, надо перед запросом прочитать настройку. Чешет репу, куда поместить дата сорс настроек. Аха, настройка связана с данным запросом, значит в репозиторий. Потом другой разраб хочет ещё один запрос сделать. Чешет репу, добавляет в тот же репозиторий. Третий разраб хочет ещё писать настройки ..

В итоге в репозитории получаются инжнкекты левых дата-сорсов, других репозиториев и другой хрени.
А потом... Этот репозиторий понадобилось переиспользовать, но без настроек. Что делает 4-й разраб? Правильно, добавляет флажки в параметры методов. Или того хуже, добавляет state в репозиторий.

Так что лучше всё-таки дать установку, что репозиторий - тонкая обертка. Чтобы не чесать репу что в него пихать.

7 ответов

17 просмотров

То есть если сначала писать по клину, потом дорабатывать не по клину, то всё посыпется. Поэтому мы делаем вывод, что лучше сразу писать не по клину?

тогда для каждой фичи нужен отдельный репо, без переиспользования

Pavel- Автор вопроса
Ruslan Kim
тогда для каждой фичи нужен отдельный репо, без пе...

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

Pavel
Репозитории - это слой данных. Его имплементация м...

Я говорил о том, что каждая фича в своем домене держит один или несколько интерфейсов репозитория, под каждый кейс. Без переиспользования. Надо сохранять данные - один репо. Надо сохранять еще и настройки и т.д. - другой.

Pavel- Автор вопроса

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Карта сайта