Skip to content

Domain‐driven design (DDD)

Jeferson Almeida edited this page Oct 11, 2024 · 1 revision

DDD Domain-driven design (DDD) is a software development methodology that focuses on understanding and modeling a business domain to improve the quality of software. DDD is particularly useful for complex domains where a lot of logic needs to be organized.

Here are some key aspects of DDD:

  • Domain models DDD helps developers create domain models, which are software abstractions that encapsulate complex business logic.

  • Bounded contexts DDD divides large systems into bounded contexts, each with its own model.

  • Collaboration DDD encourages collaboration between technical and domain experts to refine a conceptual model.

  • Code structure The structure and language of software code should match the business domain.

  • Benefits DDD can lead to better application balance and cleaner, more reliable code.

_The name DDD comes from a 2003 book by Eric Evans that introduced the notion of classifying objects into entities, value objects, and service objects.

Clone this wiki locally