Model-View-Controller

E182232

Model-View-Controller (MVC) is a software architectural pattern that separates an application into three interconnected components—model, view, and controller—to improve modularity, testability, and maintainability.

All labels observed (8)

How this entity was disambiguated

Statements (48)

Predicate Object
instanceOf design pattern
software architectural pattern
abbreviation Model-View-Controller self-linksurface differs
surface form: MVC
benefit clearer separation between UI and business logic
easier code maintenance
improved code reuse
controllerResponsibility handle user input
interpret user actions
update model and view
definesRoleOf Controller as input handler
Model as data and business logic
View as user interface representation
domain software engineering
user interface design
encourages high cohesion within components
loose coupling between components
focusesOn structuring interactive applications
hasComponent Controller
Model
View
implementedIn ASP.NET
surface form: ASP.NET MVC

Django (loosely based)
Laravel
Ruby on Rails
Spring Framework
surface form: Spring MVC
influenced many web frameworks
introducedBy Trygve Reenskaug
introducedInYear 1979
modelResponsibility encapsulate business rules
manage application data
notify views of state changes
originatedIn Smalltalk community
patternType architectural pattern
purpose improve maintainability
improve modularity
improve testability
separation of concerns
relatedTo Model-View-Presenter
MVVM
surface form: Model-View-ViewModel
supports parallel development of UI and logic
unit testing of business logic
usedIn desktop applications
graphical user interface applications
mobile applications
web applications
viewResponsibility display model state
provide user interface elements
render data to the user

How these facts were elicited

Referenced by (21)

Full triples — surface form annotated when it differs from this entity's canonical label.

ASP.NET supportsPattern Model-View-Controller
MAUI supportsPattern Model-View-Controller
this entity surface form: MVC
OPENSTEP supportsProgrammingModel Model-View-Controller
this entity surface form: Model–View–Controller
macOS Cocoa supports Model-View-Controller
this entity surface form: Model-View-Controller pattern
Smalltalk notableConcept Model-View-Controller
this entity surface form: model–view–controller (MVC)
Ruby on Rails includesComponent Model-View-Controller
this entity surface form: Action Controller
CakePHP followsPattern Model-View-Controller
Oracle ADF architecturePattern Model-View-Controller
Sails.js architectureStyle Model-View-Controller
Zend Framework (Magento 1) architectureStyle Model-View-Controller
this entity surface form: MVC
Observer relatedTo Model-View-Controller
this entity surface form: Model–View–Controller architectural pattern
Jakarta Server Pages usesModel Model-View-Controller
NeXTSTEP Interface Builder supportsConcept Model-View-Controller
Model-View-Controller abbreviation Model-View-Controller self-linksurface differs
this entity surface form: MVC
MVVM relatedTo Model-View-Controller
this entity surface form: MVC
MVVM inspiredBy Model-View-Controller
this entity surface form: MVC
MVU contrastsWith Model-View-Controller
Jakarta Server Faces supportsProgrammingModel Model-View-Controller
Application Kit uses Model-View-Controller
this entity surface form: Model–View–Controller pattern
Grails framework supportsArchitecture Model-View-Controller
this entity surface form: MVC
Apache Struts implements Model-View-Controller
this entity surface form: Model-View-Controller pattern