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