Slide 1

Slide 1 text

Rich Client DESIGN PATTERNS

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

MVVM MVP MVC

Slide 4

Slide 4 text

MVVM MVP MVC

Slide 5

Slide 5 text

MVC Communication Model View Controller

Slide 6

Slide 6 text

Architecture MVC Data Access Layer Business Logic Layer View Controller

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

MVVM MVP MVC

Slide 9

Slide 9 text

MVP Communication Model View Presenter

Slide 10

Slide 10 text

Architecture MVP Data Access Layer Business Logic Layer Presenter View

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

MVVM MVP MVC

Slide 13

Slide 13 text

Communication MVVM Model View View Model

Slide 14

Slide 14 text

Architecture MVVM Data Access Layer Business Logic Layer View Model View

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Any Questions?