A while back, I went over a few of the patterns and opinions we’ve gravitated towards on our current large-ish ASP.NET MVC project, or, how we do MVC . Many of these opinions were forged the hard way, by doing the wrong thing many times until we found the “right” opinion. Of course, many of these opinions are only really valid in the constraints of our project. While the domain of this project isn’t important, here are some key aspects to consider: AJAX is used very, very sparingly. Section 508 compliance is required XHTML compliance is also required XHTML DTD validation is also required All (well, 99%) operations revolve a single uber-entity. Think customer relationship management, where everything you do deals with exactly one customer Snippets of information repeated across many screens Screens are either edit, or view, but never both. (99% never) Given these constraints, these opinions may or may not apply to the project you work on. Again, patterns are all about tradeoffs, benefits and liabilities. But, opinionated software is like building a bullet train. It goes extremely fast, but only in the direction you build it. That said, I’m going to go over some of the main aspects...