Software design can have a very slow feedback loop: by the time you find out if the architectural and design decisions you made were the right ones, it may be too late for drastic changes. As developers, we tend to phrase all problems as technical problems, which can be sufficiently challenging in their own right. We tend to lose sight of the underlying business concerns.
Domain-Driven Design is total approach to building software for complex domains. It’s a way of thinking that helps you decide how to tackle complexity, and where to focus your efforts. By putting the business at the heart of our software, and keeping our domain model closely tight to our understanding of the business, we can create value at a much deeper level.
In this workshop, we’ll explore this central premise of Domain-Driven Design. We’ll take a practical approach: participants will be solving real-world problems right away:
Discovering the domain and the Ubiquitous Language through Model Storming
Applying General Systems Thinking and problem-solving techniques
Keeping our code in line with the domain model using tactical design patterns: Aggregates, Entities, Repositories, Value Objects, Specifications, Domain Events, ...
Building according to architectural styles, such as Layered Architecture, Hexagonal, CQRS
Visualizing strategic design using Bounded Contexts and Context Mapping
Integrating with brownfield systems
Come and join a small group of developers (15 attendees) learning DDD on a hands-on workshop.
Sign in to add slides, notes or videos to this session