= MVC = https://en.wikipedia.org/wiki/Smalltalk The MVC (Model View Controller) pattern enables developers to have multiple consistent views of the same underlying data. It's ideal for software development environments, where there are various views (e.g., entity-relation, dataflow, object model, etc.) of the same underlying specification. https://web.archive.org/web/20120729161926/http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.html The '''view''' manages the graphical and/or textual output to the portion of the bitmapped display that is allocated to its application. The '''controller''' interprets the mouse and keyboard inputs from the user, commanding the model and/or the view to change as appropriate. Finally, the '''model''' manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller).