Hands-on Domain-driven Design - by example
Minimum price
Suggested price

Hands-on Domain-driven Design - by example

Domain-driven Design practically explained with a massive case study

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
  • Explanations to the patterns for tactical design including entity, value object, aggregate, service, repository, domain event and factory
  • Architectural patterns such as the hexagonal architecture

Currently working on:

  • CQRS subchapter
  • Explanation of the implementation of the case study with Java and Spring Boot

About the current status:

I am aware that I am behind my planned schedule, however I am committed to finalizing this book within the next few months. Thanks for your patience.

  • Share this book

  • Categories

    • Software Architecture
    • Software Engineering
    • Software Engineering
    • Software
    • Computers and Programming
  • Feedback

    Email the Author(s)

About the Author

Michael Plöd
Michael Plöd

Michael currently works as a Fellow for innoQ in Germany. He is a Domain-Driven Design practitioner since 2005 and looks back to over 15 years of hands-on consulting experience. He had the idea to write this DDD book through his training he is regularly conducting on the topic. In addition to that Michael is a regular and award winning speaker at national and international conferences.

In his private life he loves photography, vinyl, concerts, heavy rock music and pug dogs.

Michael Plöd

Episode 128

Table of Contents

  • 1. Introduction
    • 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 with Domain-driven Design
  • 6. Implementation with Java and the Spring Ecosystem
  • 7. Cited Literature
  • Notes

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. 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) and EPUB (for phones, tablets and Kindle). 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.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub