~/talk

Mitosis Pattern

Talkat GeeCON 2024 · 2024-05-15..05-17· [software-architecture]
slides:none on file

Claims a practical way to evolve an MVP into a modular system by iteratively duplicating and specializing models to resolve “model tension,” then only moving to services when the residual shared surface is tiny and stable. Demonstrates a live code refactor: split a monolith into search, booking and a shared kernel, add an anti-corruption layer (ACL) and use dependency injection and tests to avoid coupling, implement taxes (20% first class, 10% second class), fix a past-booking invariant bug and propose replacing the kernel with an off‑the‑shelf money library — the refactor compiles and fixes production faults.

AI-written summary · about

  1. 0:00Introduction to Mitosis Pattern
  2. 1:16MVP success and booking feature
  3. 2:21Live demo of booking feature
  4. 4:07Critique of big ball of mud
  5. 6:14Model tension in monolith
  6. 7:37Microservices vs modular monolith
  7. 9:45Duplication tradeoff debate
  8. 11:30Distributed monolith risks
  9. 12:55Domain driven design approach
  10. 13:16Modor Express domain service
  11. 14:00Splitting domain behaviors
  12. 15:03Creating booking and search domains
  13. 16:08Moving concepts to domains
  14. 17:11Specializing space train models
  15. 18:15Behavior-based domain splitting
  16. 19:17Renaming fair to fair option
  17. 20:41Shared kernel concept
  18. 21:43Implementing shared kernel
  19. 22:47Critique of shared kernel
  20. 24:11Clean domain structure
  21. 25:14Shared kernel flexibility
  22. 25:36Fixing compilation errors
  23. 26:17Anti-corruption layer introduction
  24. 27:41Extracting anti-corruption layer
  25. 28:45Dependency injection in booking
  26. 29:47Final domain structure
  27. 30:07Tax feature implementation
  28. 31:12Model tension in tax computation
  29. 32:39Specializing price and comfort class
  30. 33:21Tax portion computation
  31. 34:46Pass booking bug fix
  32. 35:52Production bug in bookings
  33. 36:54Invariant specialization
  34. 37:37Removing shared kernel residue
  35. 38:38Business reasons for microservices
  36. 40:02Context map and money domain
  37. 41:47Generic subdomain discovery
  38. 42:52Using off-the-shelf libraries
  39. 43:12Pattern summary and conclusion
  40. 47:32When to use Mitosis Pattern
~/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.