Здравствуйте, perekrestov, Вы писали:
P>Добрый день,
P>Возник вопрос о том, как Entity взаимодействуют с репозиториями.
Как вам нравится
![](/Forum/Images/wink.gif)
На практике всё оперделяется задачей/типом приложения/используемыми средствами/религиозными предпочтениями разработчика. Например Эванс (при всём уважении к нему как к популяризатору DDD) — последовательно примазывался к яваистам, затем раскланивался с agile до такой степени, что окончательно опошлил светлые идеалы DDD, а щас агитирует за NoSQL. Евангелист, работа такая. Поэтому все заветы гурей(ов?
![](/Forum/Images/wink.gif)
) неплохо бы делить на 256.
И под репозитарими, и под сущностями каждый понимает свои собственные домыслы (и готов их отстаивать вплоть до почётного банного веника), так что всё, о чём вам тут могут рассказать — это "как делаем мы".
Например, я очень люблю data-driven подход (хоть и несколько вынужденно: когда основная фича системы — согласованная работа с данными в весьма разных клиентах, по-другому не попляшешь) и проектирование от модели предметной области заказчика. Если щас появится ув gandjustas — он будет агитировать за более практично-приземлённый подход "делать щас что надо а там разберёмся" (я передёргиваю и вообще заведомо неправ
![](/Forum/Images/beer.gif)
). Что нравится вам — то и выбирайте.
Как делаем мы —
писал тутАвтор: Sinix
Дата: 10.02.09
(только этот конкретный пост, последующая простыня унылого флейма ничего ценного в себе не несёт).
P>Иногда, сложная бизнес логика требует взаимодействия с БД и "хитрой" выборкой данных.
P>Например, в конкретной сущности у меня есть метод DoSomethingComplex()
Я предпочитаю отделять мухи от котлет: модель данных — отдельно, поведение приложения — отдельно (в контроллерах). Соответственно, DoSomethingComplex() у меня жило бы в каком-нить ComplexController, который сам бы разруливал работу с данными в зависимости от бизнес-логики. Бонус — при изменении логики модель данных портить не надо
Да, в результате репозитария как такового нет