Если я разрабатываю приложение hiberante, Я также разрабатываю модель DD?
В моем приложении есть сервисный уровень (который соответствует шаблону Observer). Будет ли также доменный уровень, на котором существуют все спящие сущности?
Мне кажется, что мое приложение выглядит примерно так:
Нужно ли знать доменно-управляемый дизайн для написания спящих сущностей?
Может ли приложение быть гибридный - OOD на уровне сервиса и DDD на уровне персистентности?
Я в замешательстве. Пожалуйста, уточните.
Если я разрабатываю приложение Hibernate, разрабатываю ли я также и модель DD?
При использовании Hibernate вы, вероятно, создадите доменную модель сущностей и выполните некоторое моделирование предметной области, но вы не обязательно следуете принципам Domain-Driven Design, это не имеет прямого значения. И на самом деле, я склонен сказать, что чаще всего бывает наоборот, большинство приложений Hibernate в конечном итоге имеют анемичную модель предметной области.
Нужно ли мне знать Domain Driven Design, чтобы писать Hibernate Entities?
Нет. Для написания Сущностей не требуется специальных знаний. Однако, если вы хотите следовать DDD, вам, очевидно, необходимо иметь некоторые знания о DDD. И если вы хотите двигаться в этом направлении, использование Hibernate (как вашей фабрики для сущностей) имеет некоторые последствия для реализации. Domain-Driven Design with Spring и Hibernate — очень хорошая запись в блоге на эту тему, в которой описывается подход, основанный на АОП.
Domain-Driven Design Quickly (отличная сводная книга Эрик Эванс справочник).
Образец приложения aop-ood Криса Ричардсона
фактически DDD — это подход, не привязанный к используемым вами инструментам.
Вы можете использовать Hibernate или любой другой OR-преобразователь для выполнения DDD или любых других аспектов, которые, по вашему мнению, подходят для вашего случая.
Подробнее о DDD: http://en.wikipedia.org/wiki/Domain-driven_design