Model View Presenter pattern
I plan to follow a Test-Driven Development approach, that is, TDD (see Appendix B) while building this application. It is very easy to test our domain logic. It is not that easy to test the presentation layer of our web application if we stick with the simple .aspx/.cs
approach that Microsoft gives us by default in Visual Studio. For that reason, we need to settle on a design that will allow us to test the presentation layer in as close to the same way as we would test any of our domain logic.
Note
At the time of writing this, Microsoft released its new Model View Controller (MVC) framework. While it is truly cutting edge, I couldn't introduce an unproven framework into this project at that time. Also, the way that the framework is set up would require more than simply learning about MVC for TDD purposes.
I have been using the Model View Presenter (MVP) pattern (also called Supervising Controller) to allow me to perform testing on my presentation layer for quite...