Domain Driven Design(DDD)

Domain Driven Design (DDD)

DDD


  • Event
  • Service
  • Aggregate
  • ...

Kacper Walczak · 04-05-2024

Lets learn how to use DDD architecture approach.

Introduction

We will take a look at DDD with a practice approach "learn by examples".

It this series we will take a look at examples based on ours client Product reservation.

But why?

Key Indicators for Applying DDD:

  • Frequent changes in business requirements.
  • High complexity in domain logic, with many interconnected parts.
  • A need for collaboration between business and technical teams.
  • The system must be maintainable and adaptable over time.
  • You have access to domain experts to define and clarify business rules.

When not?

When not to apply DDD:

  • Simple or Small Applications.

    If you're building a small, straightforward application (like a simple CRUD app, a prototype, or a single-purpose tool), DDD may add unnecessary complexity. In such cases, simpler design patterns or frameworks may be more suitable.

  • Short-Lived Projects.

    For projects with a short lifespan or a limited scope where quick delivery is more critical than long-term maintainability, DDD may be overkill.

  • Low Domain Complexity.

    If the business domain is relatively simple and doesn’t complex hard rules or logic, the overhead of DDD might not be justified. Applications that do not have a deep or evolving domain don't benefit much from DDD.

  • Lack of Domain Expertise.

    DDD relies heavily on domain experts and collaboration. If the domain experts are not available or there is no buy-in from stakeholders to invest time in defining and refining the domain model, DDD won't be effective.

  • Tight Deadlines and Budgets.

    DDD requires upfront investment in understanding the domain, modeling it, and creating a well-structured design. If the project has very tight deadlines or budget constraints, the initial investment required for DDD may not be best decision.

Building blocks

Eric Evans "Domain-Driven DESIGN", 2004, opening page building blocks graph

Start with modules

Simply learn about Modules then you will face Events, afterwards the story will carry on. Visit modules pages to learn more.

Next

Visit Modules to dive deeper into Domain Driven Design.

Check next:

READ

Latest readings

  • Readings are sites which will help you with detailed

  • information about given topic. Read latest ones from Learn.

AI

06-03-2026

Local Voice Assistant with Ollama
  • Build your own local voice assistant powered by Ollama.

AI

06-03-2026

AI YouTube Thumbnail Generator
  • Generate YouTube thumbnails with FastAPI and Ollama.

Architecture

05-09-2024

Graph DB usage comparison
  • Compare Neo4j and Tigergraph databases, which is easier to work with, etc.