|Model||Model is the lowest level of the pattern responsible for maintaining the data. |
It is a central component of MVC architecture.
It manages the data, logic and constraints of an application.
It captures the behavior of an application domain problem.
It is the domain-specific software implementation of the application's central structure.
If there is any change in its state then it gives notification to its associated view to produce updated output and the controller to change the available set of commands.
It is an independent user interface.
|View||View is responsible for displaying all or a portion of the data to the user.|
It represents any output of information in a graphical form such as diagram or chart.
View consists of presentation components which provide the visual representations of data.
View formats and presents the data from model to user.
|Controller||Controller controls the interactions between the Model and View.|
It accepts an input and converts it into the commands for model or view.
Controller acts as an interface between the associated models, views and the input devices.
It sends the commands to the model to update the model's state and to it's associated view to change the view's presentation of the model.