
Mastering Domain-Driven Design
Collaborative modeling with domain storytelling, event storming, and context mapping (English Edition)
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Mastering Domain-Driven Design
Collaborative modeling with domain storytelling, event storming, and context mapping (English Edition)
About this book
Description
Mastering Domain-Driven Design provides a comprehensive guide to understanding and implementing DDD, an approach to software development that helps you tackle complex projects by aligning your code with the core business concepts.The book explains the process for designing and modernizing software applications, applying Domain-Driven Design methods to all design and development stages. It describes creating business models using canvases and capability maps, gathering business requirements using domain storytelling and visual glossaries, designing the macro architecture using event storming, and designing single services using tactical and API design. It also describes how to involve all development or modernization partners, such as business experts, developers, or customers, in application development in a highly collaborative and engagement-driven process.By the end of this book, you will have the knowledge and practical skills to confidently apply Domain-Driven Design principles in your own projects. Whether you are building new software or working with existing systems, this book will help you to create robust, maintainable, and business-aligned solutions.
Key Features
? Collaborative design process including all stakeholders.
? Makro-design of services and the tactical design of APIs and events.
? Comprehensive process from the ideation to the design of interfaces.
What you will learn
? Wardley map for prioritization of capabilities.
? Domain storytelling to gather business requirements.
? Visual glossary to define the ubiquitous language.
? Event storming to define bounded context and domain events.
? OpenAPI to define synchronous interfaces.
? AsyncAPI to define asynchronous interfaces.
Who this book is for
This book is for software developers, architects, and technical leaders who want to learn how to build robust and maintainable software systems. Readers should have a basic understanding of software development principles and object-oriented programming concepts.
Table of Contents
1. Introduction to Domain-Driven Design
2. Introduction to the Example Online Library
3. Why Strategic Design
4. Bounded Context and Domain
5. Domain Storytelling
6. Event Storming
7. Context Map
8. Overview of Strategic Design
9. Introduction to Tactical Design
10. Aggregate, Entity, and Value Object
11. Exposing Aggregates via APIs
12. Exposing Domain Events
13. Pitfalls in Tactical Design
14. Usage of Domain-Driven Design in a Greenfield
15. Domain-Driven Design in a Brownfield Project
16. Summary
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- Cover Page
- Title Page
- Copyright Page
- Dedication
- About the Author
- About the Reviewer
- Acknowledgement
- Preface
- Table of Contents
- 1. Introduction to Domain-Driven Design
- 2. Introduction to the Example Online Library
- 3. Why Strategic Design
- 4. Bounded Context and Domain
- 5. Domain Storytelling
- 6. Event Storming
- 7. Context Map
- 8. Overview of Strategic Design
- 9. Introduction to Tactical Design
- 10. Aggregate, Entity, and Value Object
- 11. Exposing Aggregates via APIs
- 12. Exposing Domain Events
- 13. Pitfalls in Tactical Design
- 14. Usage of Domain-Driven Design in a Greenfield
- 15. Domain-Driven Design in a Brownfield Project
- 16. Summary
- Index