DDD: Какие типы поведения я должен поместить на доменную сущность?

Моя команда очень старается придерживаться Domain Driven Design в качестве архитектурной стратегии. Но в большинстве случаев наши доменные сущности довольно энимичны. Мы хотели бы придать нашим доменным сущностям больше поведения бизнес/домена.

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

Кроме того, мы разрабатываем наше программное обеспечение с учетом SOLID (пять принципов проектирования программного обеспечения, которые дядя Боб собрал вместе). Поэтому для нас важно, чтобы при проектировании наших сущностей мы обращали внимание на единую ответственность, открытость-закрытость, лисков, разделение интерфейсов и инверсию зависимостей.

Итак, какие типы поведения мы должны включать? От каких типов нам следует держаться подальше?

17
задан Byron Sommardahl 16 October 2011 в 00:25
поделиться