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

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

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

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

Что такое OpenAPI и как организовать Swagger в продакшен-проекте?