Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rich Client Design Patterns

Rich Client Design Patterns

Patterns for building rich client applications.

bradgignac

April 14, 2012
Tweet

More Decks by bradgignac

Other Decks in Programming

Transcript

  1. Rich Client
    DESIGN PATTERNS

    View Slide

  2. What is a Rich Client?
    A stateful application that uses
    client-side business logic in
    order to provide the user with an
    improved experience.

    View Slide

  3. MVVM
    MVP
    MVC

    View Slide

  4. MVVM
    MVP
    MVC

    View Slide

  5. MVC
    Communication
    Model
    View
    Controller

    View Slide

  6. Architecture MVC
    Data Access Layer
    Business Logic Layer
    View Controller

    View Slide

  7. MVC
    Key Points
    Reuse through nested view/controller pairs
    Observer and strategy patterns decrease coupling
    Tied directly to domain model
    View code can be difficult to test

    View Slide

  8. MVVM
    MVP
    MVC

    View Slide

  9. MVP
    Communication
    Model
    View
    Presenter

    View Slide

  10. Architecture MVP
    Data Access Layer
    Business Logic Layer
    Presenter
    View

    View Slide

  11. MVP
    Key Points
    Reuse by using presenter with multiple views
    More obvious interaction than MVC
    View decoupled from domain model
    Mockable views for easier testing

    View Slide

  12. MVVM
    MVP
    MVC

    View Slide

  13. Communication MVVM
    Model
    View
    View
    Model

    View Slide

  14. Architecture MVVM
    Data Access Layer
    Business Logic Layer
    View Model
    View

    View Slide

  15. MVVM
    Key Points
    Reuse through nested views
    Observer pattern decreases coupling
    View decoupled from domain model
    View model is easily testable

    View Slide

  16. Any Questions?

    View Slide