Model Mitosis: a dynamic pattern to deal with model tensions
summary
Claim: when a single model accrues conflicting needs, split it by behavior into domains, carve a shared kernel for identical invariants, and duplicate-and-specialize objects until tensions vanish. Demonstration uses real code, tests, DI and an anti‑corruption layer to translate Search → Booking, implements a Booking feature in production, adds tax computations, fixes a past‑booking bug by specializing Schedule, and ends with a modular monolith ready to become microservices if the shared kernel stabilizes.
AI-written summary · about
chapters (13)
- 0:00Model Mitosis pattern
- 1:08MVP success and booking feature
- 4:02Big ball of mud critique
- 10:59Splitting domains by behaviors
- 14:06Booking and search domains
- 17:18Resolving model tension
- 20:50Shared kernel concept
- 23:42Anti-corruption layer
- 28:35Tax computation tensions
- 33:35Debugging model flaws
- 36:43Microservices adoption
- 41:16Pattern summary
- 45:06Q&A
related talks
48mModel Mitosis: Stop Confusing Microservices and the Monolith
46mModel Mitosis: Stop making the wrong choice between microservices and monolith
49mMitosis Pattern
50mModel Mitosis: No More Confusing Microservices and the Monolith
51mModel Mitosis: No More Confusing Microservices with Monoliths
47mThe Joy of Multiple Models
50mModel Tension Heuristics
09mInterview of Julien Topcu and Josian Chevalier
