Що таке агрегат у DDD?
Агрегат (Aggregate) - це група пов'язаних сутностей і об'єктів-значень, які утворюють логічно ціле і керуються як єдине ціле.
Головне в агрегаті:
- Корінь агрегата (Aggregate Root) - головна сутність, через яку йде доступ до всього всередині.
- Інваріанти - бізнес-правила, які повинні залишатися істинними для всієї групи.
- Межі - усе, що всередині агрегата, змінюється лише через його корінь.
Приклад:
Агрегат Order включає OrderItems, але змінити позицію можна лише через Order.add_item().
Сенс: агрегат захищає цілісність даних і спрощує керування складною бізнес-логікою.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.