Gayathri Thiyagarajan Lead Software Engineer - Capgemini
Andrew Harmel-Law Principal Software Engineer - Capgemini
Eric Evans’ Domain Driven Design (DDD) is a core text for all developers, and it's experiencing a renaissance due to the rise of microservices. But are most of us really applying DDD when we're "doing" distributed systems development? Gayathri and Andrew are going to argue that we're not, but we should be – we need to recalibrate.
We'll begin by laying out what DDD means to us based on experiences we've had building microservices with distributed teams over the last two years. We'll touch lightly on the well-understood elements such as "ubiquitous language", "intention revealing interfaces" and "hands on architects", before clarifying and explaining the much misapplied concept of "bounded contexts".
Finally we'll draw up in front of the largely ignored ones, such as the many patterns for inter-team communication which derive from "context maps". As we move away from the well-understood to the disregarded, we'll illustrate why these later ones are by far the most important to successful microservice-based projects.
We'll explain why they matter, and the bene ts you'll see from applying them. You will leave ready to apply the full power of DDD, and you'll have more fun as you do it.