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 full-size 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 full-size slide

  3. MVC
    Communication
    Model
    View
    Controller

    View full-size slide

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

    View full-size slide

  5. 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 full-size slide

  6. MVP
    Communication
    Model
    View
    Presenter

    View full-size slide

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

    View full-size slide

  8. 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 full-size slide

  9. Communication MVVM
    Model
    View
    View
    Model

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. Any Questions?

    View full-size slide