Re: DDD: Как организовать взаимодействие Enity и Repository
От: Sinix  
Дата: 17.11.10 15:13
Оценка:
Здравствуйте, perekrestov, Вы писали:

P>Добрый день,


P>Возник вопрос о том, как Entity взаимодействуют с репозиториями.

Как вам нравится На практике всё оперделяется задачей/типом приложения/используемыми средствами/религиозными предпочтениями разработчика. Например Эванс (при всём уважении к нему как к популяризатору DDD) — последовательно примазывался к яваистам, затем раскланивался с agile до такой степени, что окончательно опошлил светлые идеалы DDD, а щас агитирует за NoSQL. Евангелист, работа такая. Поэтому все заветы гурей(ов?) неплохо бы делить на 256.

И под репозитарими, и под сущностями каждый понимает свои собственные домыслы (и готов их отстаивать вплоть до почётного банного веника), так что всё, о чём вам тут могут рассказать — это "как делаем мы".

Например, я очень люблю data-driven подход (хоть и несколько вынужденно: когда основная фича системы — согласованная работа с данными в весьма разных клиентах, по-другому не попляшешь) и проектирование от модели предметной области заказчика. Если щас появится ув gandjustas — он будет агитировать за более практично-приземлённый подход "делать щас что надо а там разберёмся" (я передёргиваю и вообще заведомо неправ ). Что нравится вам — то и выбирайте.

Как делаем мы — писал тут
Автор: Sinix
Дата: 10.02.09
(только этот конкретный пост, последующая простыня унылого флейма ничего ценного в себе не несёт).

P>Иногда, сложная бизнес логика требует взаимодействия с БД и "хитрой" выборкой данных.

P>Например, в конкретной сущности у меня есть метод DoSomethingComplex()

Я предпочитаю отделять мухи от котлет: модель данных — отдельно, поведение приложения — отдельно (в контроллерах). Соответственно, DoSomethingComplex() у меня жило бы в каком-нить ComplexController, который сам бы разруливал работу с данными в зависимости от бизнес-логики. Бонус — при изменении логики модель данных портить не надо

Да, в результате репозитария как такового нет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.