Résumé
Through this book, you will learn the Domain-Driven Design (DDD) methodology which provides a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design with its business needs.Today, more than ever, building software is hard. Not only we have to chase ever-changing technological trends, but we also have to grasp business domains that we are building the software for. The latter is often overseen, and it explains why so many projects are doomed to fail. After all, how can you build a solution if you don't understand the problem?
Through this book, you will learn the Domain-Driven Design (DDD) methodology which provides a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design with its business needs. These include Ubiquitous Language, Bounded Contexts, Event Storming, and others. You will see how these practices not only lead to robust implementation of business logic, but also to future-proof software design and architecture. You will also learn the relationship between DDD and other methodologies to ensure that you are able to make architectural decisions that will meet the business needs. The final section puts all of this into practice using a real life story of implementing Domain-Driven Design in a startup company.
Reading the book will allow you to use DDD for analyzing business domains, aligning software and business strategies, and making socio-technical design decisions.
By the end of this book, you will be able to: -Build a shared understanding of a business domain -Analyze a company's business domain and competitive strategy -Decompose a system into bounded contexts -Coordinate the work of multiple teams working together -Gradually start implementing domain-driven designVladik (Vlad) Khononov is a software engineer with over 15 years of industry experience, during which he has worked for companies large and small in roles ranging from webmaster to chief architect. Vlad is a long-time proponent of domain-driven design and evolutionary architecture and currently helps companies make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.