Model-View-Controller
Model-View-Controller is a popular architecture for application development, that separates business logic from client and control flow logic. The core components of this pattern are as follows:
Model: This layer directs the data layer to respond to requests passed from the UI layer. The model layer contains the core business logic of the application.
View: In this layer, the user interacts with the application and requests data to be fetched. The actions performed in the UI layer by the user will command the controller to request data from the model layer.
Controller: This layer controls the UI flow and often gets involved in the navigation from one page to another. The controller is also responsible for directing the requested data from the UI to the model layer.
The following diagram explains the Model-View-Controller architecture:
The data service layer can be anything from which the model layer gets the data. This can be obtained using relational data, XML data...