Model View Controller (MVC)

  • MVC was the first MV* interactive system architectures

image.png

  • Benefits
    1. Separate data, state, and "business logic" from user-interface
    2. Supports multiple views of same data
    3. Separation of concerns in code
      1. code reuse
      2. unit testing
  • MVC in theory and practice

image.png

  • MVC with Controller integrated into View is the most typical MVC approach in practice
  • Model-View-Controller (MVC)

image.png

  • Model-View-Adaptor (MVA)

image.png

  • Model-View-Presenter (MVP)

image.png

  • Model-View-ViewModel (MVVM)

image.png