Relationships to Other Methodologies and Patterns
So far in this book you’ve learned how to use domain-driven design to design soft‐ ware solutions according to an organization’s business strategy and needs. We saw how to apply DDD tools and practices to make sense of the business domain, design the boundaries of the system’s components, and implement the business logic.
Domain-driven design covers a lot of the software development lifecycle, but it can’t cover all of software engineering. Other methodologies and tools have their roles. In Part IV, we will discuss DDD in relation to other methodologies and patterns:
• It’s no secret that domain-driven design gained most of its traction due to the popularity of the microservices-based architectural style. In Chapter 14, we will explore the interplay between microservices and domain-driven design and how the two approaches complement each other.
• The event-driven architecture is a popular method of architecting scalable, per‐ formant, and resilient distributed systems. In Chapter 15, you will learn the prin‐ ciples of event-driven architecture and how to leverage DDD to design effective asynchronous communication.
• Chapter 16 concludes the book with effective modeling in the context of data analytics. You will learn about the predominant data management architectures, data warehouses and data lakes, and how their shortcomings are addressed by the data mesh architecture. We will also analyze and discuss how DDD and the data mesh architecture are based on the same design principles and goals.
![]() |