Что представляет собой богатую доменную модель в POJO/POCO?
В чем разница между
Простой класс полей-accesors-mutators
Класс с богатой моделью
Что представляет собой богатое моделирование в классах бизнес-домена?
Ответ 1
"Богатый", как используется здесь, означает "богатое поведение" (в отличие от состояния).
Существует техническое поведение и поведение домена. Аксессоры и мутаторы являются техническими; им не хватает "почему", что определяет бизнес-интерес.
Объекты домена представляют собой "почему" и инкапсулируют "как". Фактически, все объекты делают это; объекты домена делают это специально для бизнес-ценности.
Скажем, вы, как объект домена сотрудника, должны запросить выходной день. У вас есть 2 варианта:
Расскажите своему менеджеру, и он отмечает расписание.
Обратитесь к своему менеджеру за расписанием и отметьте его.
Модель 1 богата. "Почему" (время отпуска) инкапсулирует "как" (обозначение расписания).
Модель 2 переопределяет менеджера в простой пакет свойств и устраняет абстракцию планирования.
Ответ 2
Когда ваша бизнес-логика инкапсулирована в бизнес-объекты. Другими словами, у вас есть уровень Business Objects (Domain Model), без необходимости использования отдельного уровня бизнес-логики.