← Back to glossary

Domain Driven Design (DDD)

Domain Driven Design (DDD) is a software design approach that places a deep understanding of the business domain at the heart of the technical architecture.
It encourages modelling the code around the real language and concepts of the business domain, rather than around technical constraints. Result: a clearer, more maintainable application that is more aligned with the company's needs.

Related Services

Related Terms

DDD in practice

When to adopt a DDD approach

  • Rich and complex business domain - insurance, legal, industry, finance.
  • Application that must last more than ten years with frequent evolutions.
  • Multidisciplinary teams (business + tech) that must share a language.

Key Concepts

  • Bounded contexts - isolate each sub-domain with its own vocabulary.
  • Ubiquitous language - a single business/tech vocabulary, without translation.
  • Entities, Value Objects, Aggregates - model business invariants.
  • Domain events - capture what happens in the domain.

Caveats

  • DDD is not suited for simple CRUD applications - too much ceremony for little value.
  • Requires an initial investment (Event Storming, modelling) which can sometimes be discouraging.
  • Risk of over-abstraction if the team becomes disconnected from real usage.

How Galadrim can support you

See our offering Custom development.

[Contact us]

Let's bring your project to life together

We work with all types of clients, across all sectors. Whether you're an entrepreneur or managing a large organisation, a tailored team will meet your needs.

Over 800 companies have trusted us to create their web, mobile, and AI products

Your enquiry

We'll get back to you within 1 hour.