Lately, its been raining M-V-VM (Model-View-ViewModel) in the SL and WPF world, and rightfully so because M-V-VM to me is the best pattern for application-development given the features in SL and WPF. Now, in this post I’m not going to introduce or detail the pattern itself, read this article by Josh Smith for a great intro, rather I’ll go over what nRoute (download here) brings to the party as far as M-V-VM is concerned. And this is significant because nRoute was specifically, but not exclusively, designed for use with M-V-VM.
Separation of Concerns
From a larger perspective, M-V-VM is based on a simple principle of “separation of concerns” – in this case between the consumable View and the View’s State and Behaviour which is represented by the ViewModel. However, it is important to appreciate that the ViewModel is not a dumb conductor, rather it is a contextually and state-fully rich orchestrator (which inturn makes the View as “logic-free” as possible). This separation also plays into enhancing the Developer-Designer workflow Microsoft has been touting for sometime. more here