~/talk

Domain Driven Design and Onion Architecture in Scala

slides:none on file

Claims that combining Domain-Driven Design with Onion Architecture yields more readable, maintainable Scala code and proves it with a code-driven case study that models how to fry an egg. Builds an API like prepareEgg(eggStyle): Future[CookedEgg), uses sealed trait ADTs and tiny wrapper types to encode rules, refactors a mutable frying-pan with exceptions into sum types so many edge tests disappear, defines repository traits with in-memory implementations, and wires modules with a thin cake dependency injection pattern so infrastructure can be swapped without breaking the domain.

AI-written summary · about

  1. 0:00Introduction
  2. 3:39What is Domain Driven Design?
  3. 6:58Ubiquitous Language
  4. 8:24Case Study Language
  5. 10:48Case Study: Bounded Contexts
  6. 13:08Domain Building Blocks
  7. 14:58Case Study: Domain objects
  8. 16:19Onion Architecture
  9. 19:43Decoupling the Domain
  10. 21:08Case Study: The First Crack
  11. 23:06Case Study: Second Crack
  12. 24:55Case Study: Functional Testing
  13. 26:39Case Study: How would you like your eges?
  14. 27:52Tiny Types
  15. 29:38Case Study: Identifying our Cook
  16. 33:39Case Study Broken Frying Pan
  17. 35:52Case Study: Fixed Frying Pan
  18. 37:32Evolving Truth
  19. 38:27Repositories and stories
  20. 39:03Case Study: A Carton of Ees
  21. 39:45Dependency Inversion Principle
~/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.