Difference between revisions of "W1526 Model-View-Controller"
From Coder Merlin
Line 4: | Line 4: | ||
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. | 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. | ||
== Introduction == | == Introduction == | ||
[[File:MVC-Process.svg|right| | [[File:MVC-Process.svg|right|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-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 '''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 '''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'' | * The '''Controller''' receives input and issues commands to the ''Model'' or ''View'' | ||
<br clear='all' /> | |||
[[File:Model-View-Controller architectural pattern.svg|left|Model-View-Controller architectural pattern (alternative view)]] | |||
<br clear='all' /> | <br clear='all' /> | ||
Revision as of 23:18, 26 January 2021
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder
Prerequisites[edit]
Background[edit]
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.
Introduction[edit]
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
Key Concepts[edit]
Exercises[edit]
References[edit]
- [Software Design Pattern] (Wikipedia)