MVP Wizard Pattern - A MVP of MVPs
This weird pattern has just matured in the systems I currently manage. Even though it´s weird at first, we found out that it´s very (and that´s a big very!) handy for developing wizards in ASP.Net (or what else you´d like to for that matter).
One huge problem about Wizards was how to unit test them. The other main issue about them was how could I enable my developers to work independently in each step without depending on each other´s work.
So that´s where our pattern emerged. The pattern is actually quite simple. It consists of a model (Interface) that contains every single property from every step (just to help you as you go along) and holds references to every step, and a parent presenter that has the responsibility of loading the wizard´s structure. Every step is then composed of a Model and a presenter. The views are implemented as user controls that implement the model in ASP.Net and as mock classes that implement the model in Unit Testing Framework.
I´ll outline this pattern better in the next post and show it´s main issues when we started, the fixes we made and some trade-offs we had to do.
Til´ next post,

#82