~/talk

Decoding DDD: A Three-Tiered Approach to Django Projects

Talkat DjangoCon US 2023 · 2023-10-16..10-20· [frontend-architecture]
slides:none on file

Claims that Django can adopt DDD pragmatically, then shows how: starting from ubiquitous language and bounded contexts, progressing to making Django models into rich aggregates and value objects, and finally isolating a domain layer with plain old python objects plus repository/ports-and-adapters. Shows a real migration from a huge codebase — 85 apps, 2,200 models, 500 relations — into a modular monolith, explains tradeoffs (slower repo translations and boilerplate vs easier testing, clearer transactional boundaries) and when each level is worth the cost.

AI-written summary · about

  1. 0:00DDD in Django projects
  2. 1:48Django and DDD
  3. 2:53Monolith to modular Django
  4. 4:41Strategic DDD patterns
  5. 5:04Ubiquitous language
  6. 7:54Bounded contexts
  7. 9:00Bounded contexts in Django
  8. 11:08Tactical DDD patterns
  9. 11:29Avoiding anemic models
  10. 13:19Value objects
  11. 15:32Aggregates
  12. 17:43Aggregate design rules
  13. 18:24Domain services
  14. 19:08Decoupling domain from models
  15. 20:12Repository pattern
  16. 21:57Testing domain services
  17. 23:01Trade-offs of level two
  18. 24:07Choosing DDD levels
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.