About the MVC Architecture The Model-View-Controller architecture separates the domain logic of the software from the user interface elements. This decoupling of components allows each part of the software to be developed, tested, and maintained independently. In the MVC architecture, the model component manages the business logic of the software, including calculations, data access, and communications with external data sources. The view component manages only the graphics-related functions of the user interface. The controller component contains the control logic that governs communication between the model component and the view component. The model, view, and controller components can be implemented as a single class or as a collection of different classes.