Domain Driven Design in Practice - a Java Perspective
summary
Claim: Domain-Driven Design combined with Jakarta Data yields a domain‑centric, type‑safe persistence approach rather than old entity‑centric JPA. Tools and specifics: Jakarta Data repositories (three super types: DataRepository, BasicRepository, CrudRepository), event storming to find pivotal events and bounded contexts, repository annotations, pagination modes, and validation inside aggregates. Examples: fintech horror of money as double, a museum domain model, and refactoring a legacy monolith into microservices show concrete artefacts and that the approach actually works.
AI-written summary · about
chapters (17)
- 0:00Domain Driven Design intro
- 1:04Why software needs DDD
- 3:30Strategic vs tactical DDD
- 8:25Event storming for contexts
- 10:53DDD in museum example
- 17:55Finding events and contexts
- 19:45Contexts to microservices
- 21:08Jakarta Data domain approach
- 24:20Repository patterns in Jakarta Data
- 26:49Pagination in Jakarta Data
- 27:51Code: entities and value objects
- 28:55Repo implementation with Jakarta Data
- 29:15DDD best practices
- 30:41Q&A on DDD and AI
- 33:10AI tools for learning DDD
- 34:34Legacy to DDD migration
- 35:37Closing remarks
related talks
45mDomain Driven Modular Architecture
01h 04mDomain Driven Design: The Good Parts
59mDomain Driven Design: The Good Parts
57mDomain-Driven Design in Productland
38mDomain-Driven Design: Hidden Lessons from the Big Blue Book
39mDomain-Driven Design: Hidden Lessons from the Big Blue Book
50mIt's All About the Domain, Honey - Domain-Focused Architecture with DDD
01h 11mAn introduction to DDD
