Here is Scott Hanselman’s take on it.
Having a small passion for Design Patterns I’ve been playing with the model-view-controller (MVC) pattern for awhile now. Microsoft is working on a MVC framework for ASP.Net. See Scott Guthrie’s post on it here. This looks like a really cool thing and I can’t wait to play with it.
Sometimes I see MVC being very useful for creating an application framework. However, other times I see it being very cumbersome for making simple changes. So, the one caveat I have to the ASP.Net MVC framework is to do some design first and see if it is necessary for your application. For large enterprise applications this will be great. For smaller web applications this may be overkill.
I just found a cool attribute that you can use on many of the ASP.Net 2.0 and above controls. Its the DefaultButton attribute. You can use this on the Form tag to make one default button for the entire page or you can use it in the ASP Panel to make one default button for just that area of the page.
It’s quit simple to use. I had two different areas where users can enter values in a text box. I found myself typing in values and hitting Enter to submit. Well, the Enter key would cause a refresh of the page, but my handlers were not firing. I added a panel around these two areas, set the DefaultButton attribute and bam, it works great now!
Here is a link to an article I found on the benefits and draw backs of these two software development philosophies. There were only 228 companies surveyed, but the results are interesting.
My take on this topic is that open source is anything but free once you take into consideration the cost of initial installation and maintenance. However, with all the toolkits, extensions, SDKs, etc. that have to be installed these days to develop with proprietary systems, the gap is closing.
After developing so long on the proprietary side of things I find it hard to make the switch to open source. So, many of the things I take for granted in the proprietary world just aren’t there in open source.