Model Mitosis: a dynamic pattern to deal with model tensions
DDD Foundations - Talk
Julien Topçu and Josian Chevalier
Just as models should be iterative, strategic design should change when the context and our understanding of the problem evolve. As a model grows to solve more problems, it becomes less supple in its ability to evolve. Tensions arise within the model that struggles to stay coherent.
Eventually it reaches a critical mass and becomes a big ball of mud.
How do we know when it’s time to let new models emerge? How do we carry on the decision to split a model? How can we handle the progressive differentiation of our models while avoiding unnecessary coupling? It’s not as easy as a clean axe cut in the middle, finding the right boundaries is hard.
We would like to introduce the Model Mitosis, a dynamic pattern used to split a model into multiple ones that will get shaped and decoupled iteratively.
About Julien Topçu
I like to craft software with high business value using techniques from Domain-Driven Design, all powered by Xtreme Programming in the Kanban #NoEstimates philosophy. Member of the OWASP foundation, I evangelise on application security techniques in order to avoid being hacked properly.
About Josian Chevalier
Software Craftsman at Shodo, I specialize in Domain Driven Design. I strive to improve my approach of software development and my knowledge, as well as raise awareness about software quality among developers.