MVVM, MVP, MVC Feasibility Implementation
In the past C++ era we love to do the MVC (Model View Control), after that people happy with MVP (Model View Presenter). When the era goes to rich client many peopletalk about Model View View-Model (MVVM). MVVM is a architectural pattern from Microsoft and community. It’s largely based on the Martin Fowler approach in presentation design model. As we know,nowaday rich client should have sufficient UI thorugh modern UI (3D, NUI, or even animation). So this path is clear that MVVM is trying the best to facilitate the new UX like SL or WPF. However how about MVP and MVC? can we adopt in client development. Definetely yes… The rule of thumb is like this
- Nowaday, MVC is famous in web development, the focus to separate between UI, business logic and data like ASP.NET MVC. Actually this can be adopted in every kind application. So take it MVC as general purpose of patterns for your Windows Forms, Web Form, or even console just like the old times
- MVP is coming when we see composite application, when we see an application windows / panel come from different source. Originally I heard about this in Smart Client Application or Composite Application Block in Microsoft Pattern and Practices. So when you want to build a high modular application like LOB apps in web or windows that consume many services and display in many panel, MVP work the best
- MVVM is a reinvent wheel when rich internet application come to the earth. Originally support for WPF and expanding to the SilverLight across Windows Phone, Windows 8, and the web itself. I like to said that this application architecture is exclusively design for RIA and Rich Client.
Some of good article here
MVVM, MVP, and MVC is just an architecture. The biggest problem for us is how to make your software work and satisfy the client. Remember, users don’t see your code but your software.
Follow me @ridife