An All Code Introduction to Domain Driven Design and Hexagonal Architecture
summary
Live code builds a Quarkus REST app running on Podman that replaces CRUD with DDD plus Hexagonal wiring: a Thought domain object enforces business rules and produces a ThoughtCreatedEvent, an application service orchestrates creation, a separate ThoughtEntity persists via Hibernate Panache repository, and an outbound Kafka emitter publishes the event. The demo shows adapters for REST, DB and Kafka, keeps domain model separate from persistence, and includes testing and a GitHub workshop to reproduce the working example.
AI-written summary · about
chapters (15)
- 0:00Talk introduction
- 1:47What is DDD
- 4:17Domains subdomains microservices
- 5:41Domain objects and events
- 6:44Rebuilding CRUD with DDD
- 9:59Application services and commands
- 11:25Hexagonal adapters explained
- 12:41Domain model with logic
- 15:36Encapsulating domain results
- 16:43Persisting domain entities
- 18:14Publishing domain events
- 20:42Transactions and async events
- 21:48Testing the solution
- 23:04Full flow walkthrough
- 25:51Summary and resources
related talks
47mHexagonal Architecture in Practice, Live Coding That Will Make Your Applications More Sustainable
37mTDD and Hexagonal Architecture in Microservices
50mHexagonal Architecture in Practice, Live Coding That Will Make Your Applications More Sustainable
45mDomain-Driven Design in Micro Frontends
40mDDD, CQRS, Hexagonal, Onion,... Putting it together
48mHexagonal Architecture in Practice, the Live Coding That Will Make Your Apps Plain... (live)
02h 31mSlice & Dice your Monolith with Domain Driven Design
39mLessons Learned from 10+ Years with Domain Driven Design
