This page is under construction.

MVC: Model-View-Controller

MVC is a common framework pattern for GUI based applications, especially web and mobile. In fact, many application UX frameworks, such as JavaFX in this class, Spring MVC, Django (Python-based - used in 3240) a popular Java web framework, Jetpack Compose (the “default” framework for Android), etc. are either explicitly MVC or developers are pushed towards MVC patterns.

Difference vs Three-Layer

MVC is, in many ways, a subset of the Three-Layer architecture. The motivation is the same idea, separate the visual representation of the user-interface from the use cases of the software, which is also seperated from the data management of the application.

M - Model

The “state” of the system, including the data representations of that state

V - View

The thing the user sees and interacts with

C- Controller

Receives user gestures from the view, and then reacts accordingly to update the “state” of the Model, retrieve information from the Model, and then update the view


Previous submodule: