In this series I would like to examine the process my team and I have been undertaking on our current project. One of the aspects of working on legacy applications is that when you dive in you often see patterns that are not easily testable. The current application my team is working on was built many years ago and implements MVP (model view presenter) ,which at the time was a useful pattern for developing testable ASP.Net webforms applications. In the years since then many new patterns and frameworks have emerged and it is our desire to move the application from MVP to MVC (model view controller).
This series assumes that you are familiar with a few patterns and concepts namely the following:
- Dependancy Injection
- Inversion of Control
- SOLID principals
Having played with and loved MonoRail I was overjoyed when I learned about ASP.Net MVC ,(Yay!!! supported MVC Framework!). Now that Preview 2 is out I have been trying to find out as much as I can.
Having just gotten it installed on the laptop yesterday before bed (and having to actually work at work <sad/> ) I haven’t had time to play around too much. I have watched ScottHa’s Demo at Mix08 and the videos from the ASP.Net site. One thing I didn’t see tho was anything the really and truly resembled the MonoRail idea of Rescues so I decided to see what others had done.
Rescues are a great concept that MonoRail uses to really allow me as the developer in an advanced scenario to make decisions about if I want to display something special to alert users about errors or not. They just feel clean and don’t require me to do a lot of “if/else” or “try/catch” which can dirty up the code real fast especially where catching different types of potential exceptions.
After a few minutes of searching I came across this blog entry . I am hoping this will inspire MSFT to possibly bake this into the framework. It might already actually be there and I just haven’t looked hard enough, but if it’s not I would love to really see it. The post by Agile Joe does ceratinly show what a great job the guys on the MVC team have done so far to really make the framework very extensible.
I am really loving where ASP.Net MVC is going and certainly can’t wait for it to “go gold”. MVC has always been the way I have wanted to go with development (even in my work environment where webforms and auto-magical databinding are the norm) the seperation of concerns and testability of MVC make it so much more interesting to work with.
So there you have it… my $.02 on Rescues and ASP.Net MVC