The Model-View-Controller Design Pattern
A design pattern is a series of objects and object relationships that provide a proven, extensible solution to a particular software design problem. The Model-View-Controller (MVC) pattern is arguably the best known, most famous design pattern of them all.
MVC was originally developed in the late 1970s at the Xerox Palo Alto Research Center (PARC). It was originally built to manage the GUI and user interaction on some of the first window-based computers (another innovation from the PARC—in addition to Ethernet, local area networks, mice for input devices, and numerous other firsts).
The design problem that MVC solves is that of simplifying three primary functions that are common in many applications: ...