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.
ProsCons
Strict separation of concernsHigh overhead
Scales wellScattered code
Hard to data-bind

MVVM

  • Derived from MVC Pattern
  • View handles output
  • Model handles data
  • View Model is binding source
ProsCons
Strict separation of concernsHigh overhead
Scales wellScattered code
Easy to data-bindController not separated