W1526 Model-View-Controller

From Coder Merlin
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder
Perereca-macaco - Phyllomedusa rohdei



A software design pattern is a general, reusable solution to a commonly occurring problem in software design. It provides a template to be used to solve similar problems in various situations. Design patterns can help speed development by providing tested and proven paradigms.


Model-View-Controller architectural pattern

The Model-View-Controller is a high-level software design pattern which is commonly used when user interfaces are involved and is very popular among web applications. In such a pattern, the program is divided into three separate, yet interconnected components:

  • The Model is the application's dynamic data structure and is responsible for managing data and logic
  • The View provides a representation of information to the user. In some cases multiple views are possible for the same information.
  • The Controller receives input and issues commands to the Model or View

Model-View-Controller architectural pattern (alternative view)

Coming Soon
  • Layers of the model
  • Message relay / loose coupling

Key Concepts[edit]