OA Frame Work - The MVC Architecture

The Model-View-Controller (MVC) architecture is a widely-used architectural approach for an application where there is user interaction. The basic idea of the MVC architecture is the separation of the user interface of an application from its domain logic. It divides the functionality among objects involved in maintaining and presenting data to minimize the degree of coupling (relationship) between the objects. Basically, it separates business, navigation and presentation logic.


MVC is organized into three separate areas:



  • Model – Model includes the data of the application, along with the business logic that defines how to change and access that data. The Model can be shared among any number of view and controller objects. The Model knows about all the operations that can be applied to transform data; however, it knows nothing about the GUI and the manner in which the data is to be displayed.
  • View – View represents the means of presenting the Model's data to the outside world. This could take the form of a GUI, generated speech, audible tones, printouts, or even non-user oriented output, such as turning on an air conditioner. A view renders the contents of a Model. It accesses the enterprise data through the model and specifies how that data should be presented.
  • Controller – Controller represents a means of gathering user input and providing feedback to the model, handle requests, and control application flow. Controller contains no business logic and deals strictly with exposing the methods contained in the Model to the user through the View.