14 Nov 2002
26 Feb 2011
Link to this post
So I know its probably a pretty big undertaking to switch, but we definitely prefer the MVC approach where we work. Webforms was handy VB developers who did not know much about the web and statelessness, and it was nice for server controls rendering different html for different browsers. However, the webforms approach is a bit outdated IMHO. I'd say that there are several advantages to switching to MVC.
1. Better separation of concerns. With MVC, everything has its place and the html of the page (the view) is better separated from the logic behind the page (the controller.) This makes things evolve more naturally and encourages some better development practices from day one.
2. TDD is easier. I don't know if you guys use and TDD or BDD for your code but MVC makes your code much more testable by having a better separation of concerns. If you haven't looked into TDD you should. Its not as valuable on smaller projects, but for a large application like Sitefinity that is going to change a lot over the years, it makes a lot of sense.
4. A few other odds and end. There is no viewstate so pages generally load faster. Instead MVC binds form values nicely two your objects. Its much like two way databinding. There is no event cycle so generally understanding MVC is simpler than webforms, especially for those used to the MVC pattern or coming from other languages. It always annoyed me that the webforms model was a technology that only aided me in asp.net. It wasn't something I could apply to other tech.