Creating Applications Using The Model-View-ViewModel (MVVM) Pattern

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Creating Applications Using The Model-View-ViewModel (MVVM) Pattern - Presentation Transcript

    1. Creating Applications using the Model-View-ViewModel Pattern
      Matt Casto
      http://google.com/profiles/mattcasto
    2. Developing Software is HARD
    3. Developing Software is HARD
    4. Patterns Help … but its still HARD!
    5. Model – View – ViewModel
    6. Model – View – Controller
    7. Model – View – Controller
      Regarded as the first pattern to seperate UI, Data & Logic concerns
      Controller handles all logic, including Mouse & Keyboard events
    8. Model – View – Presenter
    9. Model – View – Presenter
      Variation of MVC
      Tailored for modern UI that handles Mouse & Keyboard events better
      Presenter depends on View
    10. Presentation Model
    11. Presentation Model
      Published by Martin Fowler in 2004
      View is a rendering of the Presentation Model
    12. Presentation Model
      “Probably the most annoying part of Presentation Model is the synchronization between Presentation Model and view. It’s simple code to write, but I always like to minimize this kind of boring repetitive code. Ideally some kind of framework could handle this, which I’m hoping will happen someday with technologies like .NET’s data binding.”
      – Martin Fowler
    13. Model
    14. Model – Your Data
    15. Model – Your Data
      Entities
      Service Proxy
      POCO
    16. Model – Your Data
      View
    17. Model – Your Data
      View – User Interface
    18. Model – Your Data
      View – User Interface
      XAML (WPF)
      XAML w/ Code Behind (Silverlight)
    19. Model – Your Data
      View – User Interface
      ViewModel
    20. Model – Your Data
      View – User Interface
      ViewModel – The View’s Model
    21. Model – Your Data
      View – User Interface
      ViewModel – The View’s Model
      State
      Operations
      Not Dependent on the View
    22. You’re probably already doing something very close to this
    23. You probably could be doing something very close to this
    24. Why do I care about MVVM?
    25. Why should you care about MVVM?
    26. Patterns are a set of guidelines
      Patternsare not a set of rules
    27. Benefits of MVVM
    28. Benefits of MVVM
      • Loose Coupling
      • Testable Code
      • Maintainable Code
    29. Developers and Designers
    30. DEMO
      WPF vsSilverlight
    31. DEMO
      Adding Validation
    32. DEMO
      Unit Testing
    33. DEMO
      Commands
    34. MVVMSolutions
      • Component Application Guidance
      • MVVM Light Toolkit
      • Caliburn
      • Roll Your Own
    35. Sources
      • WPF Apps With The Model-View-ViewModel Design Pattern – Josh Smith
      http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
      • Model-View-ViewModel In Silverlight 2 Apps – Shawn Wildermuth
      http://msdn.microsoft.com/en-us/magazine/dd458800.aspx
      • ViewModel Pattern in Silverlight using Behaviors – Nikhil Kothari
      http://www.nikhilk.net/Silverlight-ViewModel-Pattern.aspx
      • Using RoutedCommands with a ViewModel in WPF – Josh Smith
      http://www.codeproject.com/KB/WPF/VMCommanding.aspx
      • Presentation Model – Martin Fowler
      http://martinfowler.com/eaaDev/PresentationModel.html
    36. THANKS!!
      Matt Casto
      http://google.com/profiles/mattcasto

    + Matt CastoMatt Casto, 3 months ago

    custom

    889 views, 2 favs, 0 embeds more stats

    Need a new acronym for your resume? The Model-View- more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 889
      • 889 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 18
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories