What is Domain-Driven Design?

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

“What is Domain-Driven Design” is available exlusively on O’Reilly online learning platform.

Domain-Driven Design: The First 15 Years

I was honored to participate in this project, alongside Martin Fowler, Mel Conway, Rebecca Wirfs-Brock, and other industry leaders:

The book can be downloaded for from leanpub.

If you liked this post, please share it with your friends and colleagues: