Model-View-ViewModel is a design pattern that has been around for a long time. Even longer than MVC. It is now gaining a huge movement especially in the .Net community. Microsoft is investing a lot of effort into implementing MVVM in their products. This is definitely present in Windows 8. 

Why do we need MVVM? MVVM is important because it helps to separate concerns. It allows teams to work on different pieces of an app but follow a pattern that supports easy integration. MVVM makes good use of data binding. It also seems to work a lot better on Mobile devices than MVC. Probably because of the closer relationship between the View and Model. 

I have yet to implement a version of MVVM in any of my maps. Shayne Boyer gave a talk at Tampa Code Camp on MVVM light a visual studio extension that makes using MVVM very easy. He has made me a convert. If you intend to use MVVM it will  help porting to other technologies. Shayne spoke about moving an application from Windows Phone 7 to Windows 8 and was able to direct copy 75% of his code. If you use MONO you can then port that same amount of Business logic towards an Android app or Apple app. 

Advertisements