Hands-on Domain-driven Design - by example
This book is 70% complete
Last updated on 2019-05-04
About the Book
This book is a modern, in-depth explanation of the principles of Domain-driven Design. The book has a writing style that is easy to understand, explaining the theory and boasts numerous exercises and examples. The exercises and sample solutions build on a high-quality, complex case study on mortgage loans. This detailed case study is the basis for all the practical explanations in the book.
The book focuses on topics such as collaboration with domain experts, agility and strategic design. It discusses in detail how we can use knowledge crunching methods to shape communication with non-technical stakeholders in order to derive an Ubiquitous Language. The book also explains how the ideas of agility harmonize with the iterative modeling activity of Domain-driven Design. In the field of strategic design, the book discusses the connections between domains, sub-domains and bounded contexts. It also illustrates how bounded contexts can relate to microservices architectures. In addition, the book is very detailed and, above all, practice-oriented on the subject of context maps, including a consistent suggestion for graphical representation. However, this does not mean that topics such as tactical design with its internal building blocks are neglected. In this part, patterns such as Entity, Value Object, Aggregate, Domain Event, Service, Factory and Repository are examined and explained using detailed examples. The book also deals with architectural patterns such as hexagonal architecture, sometimes also known as onion architecture, and also discusses the advantages and disadvantages of such approaches. The book is rounded off by a chapter on implementation aspects using Java with Spring Boot, which leads to a complete implementation of the case study.
The current release / version of Hands-on Domain-driven Design - by example offers:
- A sophisticated, high quality case study
- An easy to understand writing style
- Many exercises with solutions that weigh in on the pros and cons of the design options given
- Tips & Tricks with best practices for the collaboration with business domain experts and other non-technical folks
- A broad overview of knowledge crunching techniques such as Event Storming, Domain Storytelling, User Story Mapping and Behavior-driven Design (Example Mapping)
- An overview how Domain-driven Design relates to agile principles and practices such as Continuous Delivery and DevOps
- A very detailed explanation of everything related to strategic design starting with domains, subdomains and bounded contexts including a deep dive into the identification of bounded contexts
- Covers how to transfer the idea of a bounded context towards microservice architectures
- A practice-oriented description of the context map, which depicts relationships between systems and their teams in a holistic way. This description is clearly focused on the practical use of the context map and is rounded off by a coherent, consistent graphical representation
- A preview of chapter 5 (tactical design) with roughly edited explanations of entities, value objects and aggregates. This includes all exercised on those topics as well
The second major release (due end of June / mid July 2019) will add:
- The chapter about tactical design with explanations of the internal building block patterns, architectural patterns such as the hexagonal architecture and other architectural options
- The pricing will rise to 14.99 USD minimum / 19.99 USD recommended with this release
The third major release (due end of September or October 2019) will add:
- Explanation of the implementation of the case study with Java and Spring Boot
- The pricing will rise to 19.99 USD minimum / 24.99 USD recommended with this release
- 1.1 What is Domain-driven Design about?
- 1.2 Disclaimer: Do not become a blind Domain-driven Design guru
- 1.3 Ways to read this book
- 1.4 Overview of the chapters
- 1.5 Acknowledgements
2. Introducing Big Pug Loans
- 2.1 About the Big Pug Bank
- 2.2 Business Overview
- 2.3 Applicants and customers
- 2.4 Mortgage Loan Application
- 2.5 Collateral Value and Market Value Comparison
- 2.6 Scoring
- 2.7 Document check
- 2.8 Credit Decision
- 2.9 Reactions after the credit decision has been made
- 2.10 Case Study Appendix
3. Cultural and organizational aspects of Domain-driven Design
- 3.1 Knowledge crunching
- 3.2 Techniques for Knowledge Crunching
- 3.3 The Ubiquitous Language
- 3.4 The role of the domain expert
- 3.5 Domain-driven Design and agile
- 3.6 Summary
4. Strategic Design
- 4.1 Ways to approach complexity
- 4.2 What is Strategic Design?
- 4.3 Problem vs Solution Space
- 4.4 Domains
- 4.5 Subdomains
- 4.6 Bounded Context
- 4.7 Context Maps
- 4.8 A Context Map for Big Pug Loans
- 4.9 Summary
5. Tactical Design
- 5.1 The domain model in a Bounded Context
- 5.2 Building Block Patterns
- 5.3 Software Architectures
- 5.4 System Styles
- 5.5 Micro- vs Macro-Architecture
- 6. Implementation with Java and the Spring Ecosystem
- 7. Cited Literature
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Free Updates. Free App. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.