Model, View and Controller Notes

The Model manages the behavior, but especially the data of the application. It responds to requests for information about its state (these usually come from View) and responds to instructions to change that state (usually by Controller). In event-driven systems, the Model notifies observers (usually View) when data changes so they can react.

The View renders the data in a form suitable for interaction, i.e., a UI element.

The Controller interprets user input and makes calls on Model's objects.

For example, in some web applications, View is HTML, Controller receives GET, PUT, POST and calls Model.

The Model is not merely the database or even the data access objects (DAOs), but also the business/domain logic that manipulates the data.