INFO Technology RadarINFO Technology Radar

Domain Driven Design (DDD)

Adopt

Domain-driven design (DDD) is a software design approach focusing on modelling software to match a domain according to input from that domain's experts.

Domain-driven design is predicated on the following goals:

  • placing the project's primary focus on the core domain and domain logic
  • basing complex designs on a model of the domain
  • initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.

We encourage using DDD alongside Spec Driven Development: DDD's ubiquitous language and bounded contexts give an agent the domain meaning it needs, so the specs we write for it describe the right thing, not just something that compiles.

Adopt

Domain-driven design (DDD) is a software design approach focusing on modelling software to match a domain according to input from that domain's experts.

Domain-driven design is predicated on the following goals:

  • placing the project's primary focus on the core domain and domain logic
  • basing complex designs on a model of the domain
  • initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.