DDD
Domain-Driven Design (DDD) is an approach to system design that places strong emphasis on reflecting business processes and assumptions as accurately as possible in implementation.
Ideal for teams that…
Solid backend and architecture — patterns proven in production.
You will understand how Domain-Driven Design helps in designing information systems
You will learn how to apply tactical pattern techniques within a Bounded Context
You will learn how to use strategic thinking when building an information system
You will understand the importance of Domain Events and how they can be used for integrating Bounded Contexts
What we actually do
- · Introduction What is a domain-driven approach? Common problems encountered When and how to apply Domain-Driven Design
- · Modeling Process Pitfalls of Database-First approach and noun-based modeling Using EventStorming in the design process EventStorming Big Picture – discovering the language and preliminary context boundaries EventStorming Process Level – modeling business processes and defining context boundaries EventStorming Design Level – modeling aggregates and their boundaries Tips & Tricks
- · EventStorming Session
- · Strategic Domain-Driven Design Patterns Pattern catalog Bounded Context Methods for discovering domains, subdomains and Bounded Contexts Ubiquitous Language Discovering language: its role in communication and implementation Context Map Methods of integrating contexts
- · Tactical Domain-Driven Design Patterns Value Object Entity Aggregate Upholding invariants Heuristics for aggregate modeling Four rules for identifying consistency boundaries Typical consequences of incorrect aggregate boundaries Repository Factory Domain Service Policy (including use of design patterns in modeling policies) Specification Event Saga Implementation considerations: Persistence of aggregates (with separate model / using events) Data validation Involving infrastructure vs domain vs framework Communication between modules (within monolith, microservices) Testing Translating the domain model into application architecture, integrating with frameworks Related techniques: Command Query Responsibility Segregation (CQRS) Event Sourcing
- · Additional Topics Four levels of model – large-scale structures Capabilities Operations Policies Decision Support
- · Good & Bad Practices Review of typical modeling and implementation mistakes Helpful heuristics for modeling DDD vs DDD Lite
- · Q&A
From brief to retro in 30 days.
Brief & diagnosis
A call with the team lead + a short survey for participants. We define goals, gap and context.
Program customization
We adapt modules, case studies and code examples to your stack. Approval in 5 days.
Workshop
Trainer-led sessions, hands-on, code review. Mentor available between sessions too.
Retro + report
Outcome report for the team and lead. 30 days of consulting included.
Send a brief. We'll reply within 1 day.
After a short brief we'll prepare a program and a quote. No obligations — it's just a starting point.
Thank you!
We'll get back to you within 1 business day.
Other programs for teams
See all →Application architecture
Solid backend and architecture — patterns proven in production.
Design patterns in C#
Solid backend and architecture — patterns proven in production.
Design Patterns Microservices
Solid backend and architecture — patterns proven in production.