It is not easy to write software that solves complex business problems. We all have learned that, some of us the hard way. Domain-Driven Design offers tools and methods to "tackle complexity in the heart of software". After a short introduction to DDD, drawing from Conway's Law and the Cynefin Framework, we will collaboratively model an interesting domain using Event Storming and Story Mapping. Then you will transform selected parts into code using the design patterns of DDD (Value Object, Entity, Aggregate, Repository, Factory, Service, and Domain Events). Further topics covered include Bounded Contexts, Strategic Design, and Hexagonal Architecture. To conclude the workshop, we will discuss the question: What about CRQS and Event Sourcing?
Even older digital watches would outperform Stefan's first computer. He has been an IT consultant for over 20 years, holds an academic degree in computer science, is an author of several textbooks, and a university lecturer on professional web development. He spends his free time playing electric guitar and researching agile home improvement.