Skip to content

Domain-driven design

Developing software models from the business domain together with the people who know its rules.

Also known asDDD
Software architecture

What is domain-driven design?

Domain-driven design, or DDD, grounds software modelling in a business domain. Domain experts and developers clarify terms, rules and relationships together. A shared language should carry the same meaning within a defined business context. Different contexts may need their own models; this boundary is often called a bounded context.

In a fictional business, sales uses “order” to mean a sold service, while the service team means a scheduled visit. Participants describe both meanings and their handover instead of silently assuming a single data model. This can lead to clearer software boundaries. DDD does not require microservices or a particular database type. How models are technically separated and operated is an additional architecture decision.

Sources