You know you had a good idea when you see someone else implement it, and they do it better than you may have yourself. Brian Lesser posted an article this week on O’Reilly titled, “MVC As Anti-Pattern.” I have been meaning to write a similar article for a while. Internally at Gorilla Logic, Stu Stern and I have had a long running dialog questioning the wisdom of bringing in full blown MVC frameworks into Flex (especially model 2 like implementations with a front controller).
Brian Lesser does a good job of arguing against implementing the traditional MVC pattern within Flex applications. Lesser outlines the language/framework features in Flex that are far different than the language MVC grew out of many years back (i.e. Smalltalk), including discussing data binding and event listeners in Flex. In addition to his main points, I am still a little awestruck at the willingness of developers to drag in a framework that quadruples or more the amount of code without adding much clear value.
Obviously, architecture is important and Lesser does spend some time discussing what the layers look like within Rich Client applications. I am still digesting this section, but my initial reaction is that his ideas fit well with how I view application architecture in context of RIA’s (hard to go wrong when you borrow from Eric Evans). It really is an exciting time as the move to rich client runtimes not only allows us to build better applications for end users, but forces us to think differently about the architecture.