Domain-Driven Design Workshop Training Course
Domain-Driven Design (DDD) is an approach to software development for complex needs
by connecting the implementation to an evolving model.
DDD helps improve codebase quality by positively affecting all aspects of the software development
lifecycle - gathering and understanding requirements, analysis, design, architecture, coding, testing, deployment, and maintenance.
Complex and long-running projects benefit from DDD by keeping the fast development pace when
other projects typically slow down.
Shorter projects and individual contributors enjoy using DDD as it helps achieve cleaner and intuitive
code and improved quality of the delivered software.
DDD also helps in alignment with modern software architecture styles such as Microservices,
Event Sourcing, CQRS, and so on.
Putting the Model to Work
- Bounded Context
- Ubiquitous Language
- Continuous Integration
- Model-Driven Design
- Hands-on Modelers
- Refactoring Toward Deeper Insight
Building Blocks of a Model-Driven Design
- Layered Architecture
- Value Objects
- Domain Events
- Intention-Revealing Interfaces
- Side-Effect-Free Functions
- Standalone Classes
- Closure of Operations
- Declarative Design
- Drawing on Established Formalisms
- Conceptual Contours
Context Mapping for Strategic Design
- Context Map
- Shared Kernel
- Customer/Supplier Development
- Anticorruption Layer
- Open-host Service
- Published Language
- Separate Ways
- Big Ball of Mud
Distillation for Strategic Design
- Core Domain
- Generic Subdomains
- Domain Vision Statement
- Highlighted Core
- Cohesive Mechanisms
- Segregated Core
- Abstract Core
Large-scale Structure for Strategic Design
- Evolving Order
- System Metaphor
- Responsibility Layers
- Knowledge Level
- Pluggable Component Framework
Blending DDD into Other Architectures
- DDD and Microservices
- DDD and CQRS
- DDD and Event Sourcing
Collaboration via DDD
- Model Exploration Whirlpool
- Event Storming
- Whiteboard Modeling
Ready to take your team to the next level?
Not what you were looking for? Browse other training courses or we can custom-build a course for your specific needs.
Contact us, and we will guide you through the process at no cost. It is our pleasure and honor to help you succeed!
We guarantee the lowest group price on the market. We will price match the competitors.
- We teach on-site (your premises) or off-site (our premises), in a classroom setup.
- These in-person, immersive workshop training courses are designed and led by a hands-on
Software Architect, Tengiz Tutisani, for Software Architects, Software Engineers, and non-technical attendees (depending on the training course).
Every training course consists of all-encompassing theory, practical exercises, questions and answers, and real-life workshops to help you solve the realistic challenges at work.
Our students never leave with confusion or unanswered questions - that is our differentiator.
- Upon completion of the training course, we provide an electronically verifiable certificate.