Interesting how software design repeats itself so much as different groups discover old patterns and make them new again to a whole segment of developers. I’ve been developing for about 8 years, only a fraction in the history of software, but already I’m looking at repeating myself. I’m reading today about the ASP.NET MVC (Model View Controller) announcement from this past weekend. I think it was a little over 3 years ago now that, in my day job, I left Java for .NET. For the bulk of my Java days I was doing MVC development with a custom IBM framework (which I wasn’t too fond of) and with Spring (which I had a lot more fun with). I consider myself pretty agnostic with software, I’m not religiously tied with any group, but I made the switch to .NET because I wanted to write web apps, and .NET was the direction my company’s technology roadmap was going, leaving Java mostly behind as a web front-end.
Thanks to Rails generating an increased buzz in the .NET community about MVC, Microsoft is now going to ship its own MVC framework as an extension to ASP.NET. I’ve been doing traditional ASP.NET and ASP.NET with the Model View Presenter (MVP) pattern now for 3 years and am not a big fan of it’s workings, with viewstate, postbacks, controls and event lifecycle. Too often I find myself having to work too hard to do fit what I’m trying to do into the framework. The web is a simpler medium, and I like the software stacks that web apps are written to be simpler too. I’m looking forward to exploring this new framework more along with Rails and MonoRail.