Mvvm pattern
1 / 14

MVVM Pattern - PowerPoint PPT Presentation

  • Uploaded on

MVVM Pattern. Mahender Senior Software Engineer United Health Group. Mahender Sarangam.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' MVVM Pattern' - solana

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mvvm pattern

MVVM Pattern


Senior Software Engineer

United Health Group

Mahender sarangam
Mahender Sarangam

  • Having 5 years of experience on .NET Technologies. Working as a Senior Software Engineer in United Health Group (UHG India Information Service Ltd.). Worked with Big Firms like Deloitte Consulting & Wipro Technology.

  • Got Technical Acquaintance on Technologies like C#, ASP.NET,AJAX, LINQ, Silverlight, WPF,WCF ,SQL Server, Team Foundation Server(TFS) and SharePoint Technology.

  • MCTS Certified in Web Technologies.

  • Blog :

Why do need pattern
Why Do need Pattern

Everything in code behind, is not a good idea

Why do need pattern1
Why Do need Pattern

  • Basic Motivation of separation pattern

    • Removing logic from Code behind

    • Interchanging UI screens

    • Create Unit test case foe logic and UI

    • Developers and Designers can work parallel.

    • Model never needs to be changed to support changes to the view

    • No duplicated code to update views

  • So what is MVVM ?

    • Its variation of MVC pattern

    • John Gossman from WPF team

    • Resources from external assemblies

    • Martin Fowler's Presentation Model (PM) pattern


  • View Knows VIEW MODEL


  • BUT VIEWMODEL does not know View


View Model



  • Represents the user interface that the user will see.

  • Can be a user control or Data Template

  • Keep the view as simple as possible.

  • Uses Binding to “subscribe” to the ViewModel

  • Interprets business data and state of ViewModel to the human

  • Nothing but Presentation - XAML

  • No or minimal code-behind

View model
View Model

  • An abstraction of View

  • Connector between View and Model

  • Keep View State, Value Conversion

  • No strong or weak (via Interface) reference of View

  • Make VM as testable as possible (e.g. no call to Singleton class)

  • No Control related Stuff in VM

  • Provides data to and from the View

  • Responds to both the View and the Model

  • Informs the View of changes in the data

  • Reusable (at least much more than code behind a form)


  • Can be Data Model, DTO, POCO, auto-generated proxy of domain class and UI Model based on how you want to have the separation between Domain Service and Presentation Layer

  • No reference to View Model

  • Typical class that covers a database

  • Could be a WCF Service and its client reference

Supporting libraires and framework
SupportingLibraires and Framework

  • WPF Team : MVVM Toolkit

  • MS Pattern and Practice Team : Composite WPF (Prism)

  • Josh Smith. "MVVM Foundation"

  • Sacha Barber. "Cinch."

  • Karl Shifflett. "Ocean"

  • Laurent Bugnion. "MVVM Light Toolkit"

  • Lester Lobo. "CoreMVVM"

  • Rob Eisenberg. "Caliburn"

  • William e Kempf. "Onyx"

  • Peter O’Hanlon. "GoldLight"

  • jbe. "WPF Application Framework (WAF)"

  • Paul Stovel : MacroModels