The Model is the one which is responsible for managing data storage as well as retrieval of the data from the data source. When data changes it notifies all its Views about change in data. A model holds part of the current state of the application. The model represents enterprise data and the business rules that govern access to and updates of this data. The Model knows everything about the data that need to be displayed. However, it does not know anything about the View, that is the manner in which the data is to be displayed, nor the View actions that are used to manipulate the data. The data is accessed and manipulated through methods that are independent of the View.
(more…)