Model-view-controller. Model–view–controller (MVC) is a software pattern for implementing user interfaces.
It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.[1][2] The central component, the model, consists of application data, business rules, logic and functions. A view can be any output representation of information, such as a chart or a diagram. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants. The third part, the controller, accepts input and converts it to commands for the model or view.[3] Component interactions[edit] Too-Smart-Business-Object Anti-Pattern - Gunnar Peipman's ASP.NET blog. Tiago Luchini.