What is domain-driven design? - Khononov, Vladik (O'Reilly Media, 2019)
The majority of software projects are delivered late or over budget, or they fail to meet the client's requirements. Attack the problem head-on and build better software with domain-driven design (DDD)--a methodology that aligns software design with a business's domain, needs, and strategy. In this report, Vladik Khononov introduces the key patterns and practices of domain-driven design and shows you how to apply them to improve the success rate of your projects. You'll discover how to explore, analyze, and model your company's business domain along with techniques for implementing that knowledge. Once you understand the fundamentals, you'll be able to selectively apply DDD concepts to analyze and simplify your codebase, explore new requirements, and more. You'll learn: Key domain-driven design concepts, including ubiquitous language and bounded contexts How to employ "event storming" to streamline the process of discovering domain knowledge and building a ubiquitous language Patterns and techniques for implementing business logic and architecting solutions that deliver business goals How to maintain and evolve both tactical and strategic designs over time