Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but you also need to understand the business domains behind the software. This practical book provides you with 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.Author Vladik Khononov shows you how these practices lead to robust implementation of business logic and help to future-proof software design and architecture. You'll examine the relationship between DDD and other methodologies to ensure you make architectural decisions that meet business requirements. You'll also explore the real-life story of implementing DDD in a startup company.With this book, you'll learn how to:Use DDD's strategic patterns and practices as well as its tactical patterns and use casesAnalyze a client company's business domain and competitive strategyBuild a shared understanding of the business domains you encounterDecompose a system into bounded contextsCoordinate the work of multiple teams working togetherGradually start implementing domain-driven design