Когда сущности оживают: применение State в доменной модели DDD

Когда сущности оживают: применение State в доменной модели DDD

Сущность в Domain Driven Design — это сердце бизнес-логики. Ее цель - моделирование бизнес-процессов и их жизненного цикла. Сущность инкапсулирует состояние и поведение важное для бизнеса.

Когда DDD превращается в спагетти на стероидах: типичные ошибки в Aggregates и Entities

Когда DDD превращается в спагетти на стероидах: типичные ошибки в Aggregates и Entities

Domain-Driven Design (DDD) — мощный подход к проектированию сложных систем, который обещает порядок в сложных бизнес процессах, однако он также скрывает ряд ловушек, связанных с проектированием агрегатов (Aggregates), сущностей (Entities). Без должного внимания к процессу легко допустить ошибки, способные привести к спагетти коду на стероидах. Расс…

Реализация бизнес-логики: от стикеров Event Storming к реальному коду

Реализация бизнес-логики: от стикеров Event Storming к реальному коду

Итак, мы приняли решение использовать подход Domain Driven Design для реализации нашего приложения. Мы собрали экспертов доменной области. Провели несколько сессий Event Storming. Выделили основные события, агрегаты, нарисовали карты контекстов и приступили к реализации.

Тактический дизайн в DDD: Мост между бизнесом и кодом

Тактический дизайн в DDD: Мост между бизнесом и кодом

Когда мы слышим Domain Driven Design, на ум сразу приходят такие понятия, как Ubiquitous Language (Повсеместный/Всеобщий язык), Bounded Contexts (Ограниченные контексты), то есть чаще всего говорят о стратегическом дизайне.

1

DDD Entity != ORM Entity: Почему это важно и как избежать "болевых точек" в архитектуре

DDD Entity != ORM Entity: Почему это важно и как избежать "болевых точек" в архитектуре

Часто в проектах, которые разрабатываются с использованием подхода Domain Driven Design, возникает соблазн использовать одну и ту же Java сущность для двух принципиально разных целей. Один класс используется и как бизнес логика (DDD Entity), и как ORM сущность (часто это мотивируется следованию принципу DRY(Don't Repeat yourself), хотя он не имеет…

Как неправильное определение Bounded Context в DDD может сломать архитектуру: типичные ошибки и как их избежать

Как неправильное определение Bounded Context в DDD может сломать архитектуру: типичные ошибки и как их избежать

Впрошлый раз мы разобрали, как избежать ошибок при формировании Ubiquitous Language. Сегодня разберем какие ошибки могут возникнуть при определении Bounded Context.

1