VB.Net and MVVM

 MVVM

Microsoft has revisited the original presentation Model by a proposition of Martin Fowler this revission named MVVM is the perfect aproach for WPF and Silverlight as it was specifically designed for them

If you built apps with the Windows Presentation Framework ( WPF ) , Silverlight or for Windows Phone 7 you should sure consider adopting the Model View ViewModel ( MVVM ) as this design pattern is specifically handy to deall with  XAML UI elements in a clear way .

History

In 1974 EWD (*) wrote a paper called “On the role of scientific thought” , this was the first document that discussed the concept of SoC “…The Seperation Of Concerns, [is] the only availlable technique for efective ordering of one`s thoughts , that i know of.”

In 1989 Chris Reade went a step further and described the tasks “1. describe what is to be computed 2. Organize the computation sequencing into small steps 3. Organize memory management during the computation”

Moving fast forward Martin fowler and Eric Evans started to discuss design patterns related to contextual design leading to the current concept of SoC soon there were patterns and concepts like Domain Driven Design , Unit of Work and manny other  approaches and UI patterns like MVC , MVP and MVVM .

Layers

MVVM forces you to divide application code into different Layers  and Tiers

Model:  the model refers to either  an object model that represents the real state content , or  the data access layer that represents that content

View: the view refers to all elements displayed by the GUI .

ViewModel: the ViewModel is a “Model of the View” meaning it is an abstraction of the View that also serves in data binding between the View and the Model.  The ViewModel exposes public properties, commands, and abstractions. The ViewModel has been likened to a conceptual state of the data as opposed to the real state of the data in the Model.

Controller: some references for MVVM also include a Controller layer

Book

Building Enterprise Applications with Windows Presentation Foundation and the MVVM Model View ViewModel Pattern by Raffaele Garofalo

Code

VB.Net Silverlight webcam example in MVVM

* ( EWD ) Edsger Wybe Dijkstra was one of the most influential members of computing science’s founding generation

His letters are published here http://www.cs.utexas.edu/users/EWD/ i can sure recomend you to read them especially EWD 1209 had a high impact on me  http://www.cs.utexas.edu/users/EWD/ewd12xx/EWD1209.PDF after reading remember that it was 1995 when he wrote this !

Advertisements

About vbdotnetcoder
Visual studio Developer located in the Netherlands

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: