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.
- 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
Table of Contents
- I. Strategic Design
- 1. Analyzing Business Domains
- 2. Discovering Domain Knowledge
- 3. Managing Complexity with Bounded Contexts
- 4. Context Mapping
- II. Tactical Design
- 5. Business Logic Implementation Patterns
- 6. Architectural Patterns
- 7. Integration of Bounded Contexts
- III. DDD in Practice
8. Event Storming
- Who Should Participate in Event Storming?
- What Do You Need for Event Storming?
- The Event Storming Process
- 9. Evolutionary Design
- 10. Getting Started with Domain-Driven Design
- Title: What Is Domain-Driven Design?
- Release date: October 2019
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781492057796