Недавно я обнаружил, что дизайн, управляемый предметной областью (DDD), является лучшим вариантом для некоторых приложений (т. Е. Приложений, в которых задействована сложная бизнес-логика, а не простые операции CRUD, предоставляемые через пользовательский интерфейс).
Я просмотрел следующие сайты по дизайну, управляемому доменами (DDD).
https://www.infoq.com/articles/ddd-in-practice
Дизайн на основе домена: служба домена, служба приложений
Что я не мог заключить / понять, так это следующие моменты:
(1) Какова роль сервисов в проектировании, управляемом доменами (DDD)? Можете ли вы объяснить на примере службы, объекта домена, DAO (с использованием Java)?
(2) Если мне нужно использовать Java для создания объектов домена / бизнеса, какое соглашение об именах следует соблюдать? Это похоже на CustomerBO, ProductBO и т. Д.?
Не могли бы вы помочь мне с простыми примерами использования Java?
Мне не понравился пример, приведенный ниже (в ответе), поскольку объект домена не выполняет ничего, кроме передачи данных, что по-прежнему является анемичной моделью. Может ли кто-нибудь помочь мне одним наглядным примером, демонстрируя какое-то поведение внутри объекта домена?
Tenant
так много методов / поведения, что он не анемичен .activate()
,offerRegistrationInvitation(String aDescription)
,provisionRole(...)
- лишь несколько примеров. Посмотрите на это здесь. 25.09.2016