I am a huge fan of ASP.NET MVC. It is leaps and bounds ahead of WebForms, and if you’re doing web development on the Microsoft platform, it’s arguably the best overall solution available. But it is far from perfect. One of the things that has bugged me about it since the very beginning is the default organization conventions, meaning separate folders for controllers, view models, and views. These conventions can be replaced though.