advanced

DDD basics

Используйте ubiquitous language, bounded contexts, aggregates и domain services там, где business complexity достаточно высока для modeling cost.

Domain-Driven Design выравнивает код с языком бизнеса через ubiquitous language, bounded contexts, aggregates, entities, value objects и domain services. Окупается при богатых, спорных и долгоживущих правилах — не на каждом CRUD admin. Strategic design (contexts, relationships) не менее важен tactical patterns.

На интервью: когда DDD стоит modeling cost. Пример ubiquitous language и эскиз context map.

Типовые ошибки: жаргон DDD без domain experts; aggregates слишком большие или мелкие; анемичные модели с логикой в application services.

Чеклист:

  • Глоссарий с product и stakeholders.
  • Bounded contexts по business capability.
  • Aggregates держат consistency boundaries.
  • Явно выбранные паттерны интеграции contexts.