Chapter 6. Emergent design
This chapter covers
- Emergent design that’s robust in the face of change
- Redesigning classes
- Morphing the code to a good package structure
- How to let the Mikado Method guide you in a redesign
We deliberately started describing and explaining the Mikado Method from the practical end of things, letting you get your hands dirty and actually change code. We did this because we know how easy it is to get stuck analyzing things and going nowhere.
The Mikado Method is all about changing code, but you don’t want to change the same code over and over again. The trick is to pull the code toward a state where changes don’t create ripple effects, forcing other changes. If you think back, you can probably identify several situations where you’ve tried a lot of things and felt like you were going in circles, or when you reached the goal but didn’t feel that you improved the system very much. If so, you know that just trying random things to reach your goal isn’t enough. You also need a direction.