Что такое Application Service в DDD и чем он отличается от Domain Service?

Senior
247 просмотров
AFK Offer AI

Application Service — оркестрирует usecase: загрузить агрегат из репозитория, вызвать метод, сохранить, опубликовать событие. Тонкий, без бизнес-логики, знает о транзакциях, безопасности. Domain Service — бизнес-логика которая не принадлежит одному агрегату: PriceCalculationService (зависит от нескольких агрегатов). Domain Service не знает о persistence. Типичная ошибка: толстый Application Service с бизнес-логикой — это Transaction Script, не DDD.

Следующий вопрос

Как реализовать CDC (Change Data Capture) с Debezium?