Fighting technical debts with DDD
Today programmers do not develop applications from scratch but they spend their time fixing, extending, modifying and enhancing existing applications. The biggest problem in their daily work is that with time maintenance mutates from structured programming to defensive programming: The code becomes too complex to be maintained. We put in code we know is stupid from an architectural point of view but it is the only solution that will hopefully work. Maintenance is more and more difficult and expensive. Our software accumulates technical debts.
In this talk, I will show you how Domain-Driven Design can help you and your teams to avoid this apparently inevitable dead end. The concepts and solutions of DDD can be applied at the beginning of a project but will also improve the situation in an ongoing project or during maintenance.
(Workshop, half day, Beginner)
Since Microservices have appeared as an architectural style to solve organisational problems and improve scalability the ideas of Domain-Driven Design have experienced a strong revival. The guidelines of strategic design (DDD in the large) help us to cut the domain into domain-related bounded contexts. These bounded contexts than correspond with microservices. Within the bounded contexts tactical design (DDD in the small) with the ubiquitous language and the building blocks entity, value object, aggregate, service etc. give us guidance how to implement and structure our design. In this workshop we will show you the essentials of DDD and report on our ten years of experience with DDD. Short lectures, discussions and exercises will alternate with one another.