Skip to content
Ameen Abozaid
Planned lessonMID-060-L01

Why domain-driven design

  • Lesson 1 of 7
  • Mid-level
On This Lesson 4 topics

This lesson is planned. The outline below lists the topics it will cover. The full lesson has not been published yet.

In this lesson

say when DDD pays off and what it is.

Planned topics

  • DDD models the business domain in code, with developers and domain experts working together.
  • Strategic DDD: language, bounded contexts, context maps. Tactical DDD: entities, value objects, aggregates, repositories, events.
  • It pays off where rules are complex and change often; it is overkill for plain CRUD.
  • Symptom it fixes: an anemic model, where entities are data bags and services hold all the rules.
  • Shop's Order has rules (status flow, cancellation) but only getters and setters.
Draft outline details

Demonstration

order.setStatus("SHIPPED") in a service versus order.ship() in the model.

Check your understanding

When is DDD overkill?

Show answer

For simple CRUD with few business rules.

Practice

Apply this lesson with the module's lab, exercises and quiz.

Lab and exercises Quiz

Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.

Continue to next lesson

Type to search levels, phases, modules and lessons.