Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Model–view–controller
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software design pattern}} [[File:MVC-Process.svg|right|200px|thumb|Diagram of interactions in MVC's Smalltalk-80 interpretation]] '''Model–view–controller''' ('''MVC''') is a software [[architectural pattern]]<ref>{{Cite web|url=https://www.youtube.com/watch?v=o_TH-Y78tt4&t=1667|title = The Principles of Clean Architecture by Uncle Bob Martin|website = [[YouTube]]| date=15 December 2015 }}</ref> commonly used for developing [[user interface]]s that divides the related program logic into three interconnected elements. These elements are: * the '''[[model]]''', the internal representations of information * the '''view''', the interface that presents information to and accepts it from the user * the '''controller''', the software linking the two.<ref name = "Reenskaug and Coplien, Artima, 2009" >{{ Cite web | url = https://www.artima.com/articles/dci_vision.html | title = The DCI Architecture: A New Vision of Object-Oriented Programming | access-date = 3 August 2019 | quote = More deeply, the framework exists to separate the representation of information from user interaction. | first1 = Trygve | last1 = Reenskaug | first2 = James O. | last2 = Coplien | date = 20 March 2009 |website = Artima Developer | archive-url = https://web.archive.org/web/20090323032904/https://www.artima.com/articles/dci_vision.html | archive-date = 23 March 2009 | df = dmy-all }}</ref><ref>Burbeck (1992): "... the user input, the modeling of the external world, and the visual feedback to the user are explicitly separated and handled by three types of object."</ref> Traditionally used for desktop [[graphical user interface]]s (GUIs), this pattern became popular for designing [[web application]]s.<ref>{{Cite news|url=http://blog.iandavis.com/2008/12/what-are-the-benefits-of-mvc/|title=What Are The Benefits of MVC?|last=Davis|first=Ian|newspaper=Internet Alchemy|access-date=2016-11-29}}</ref> Popular programming languages have MVC frameworks that facilitate the implementation of the pattern. __TOC__
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)