Presentation Architecture Design Patterns
These patterns are useful when you are creating the presentation layer.
MVC

Separated the application into 3 areas of concern.
- Designed for presentation layers.
- View handles output.
- Model handles data.
- Controller handle interaction.
Pros | Cons |
Strict separation of concerns | High overhead |
Scales well | Scattered code |
Hard to data-bind |
MVVM

- Derived from MVC Pattern
- View handles output
- Model handles data
- View Model is binding source
Pros | Cons |
Strict separation of concerns | High overhead |
Scales well | Scattered code |
Easy to data-bind | Controller not separated |