1. The user of a website clicks a button or submits a form.
  2. This data is sent to the Controller which sends the form or button data to the Model. The model returns the raw data.
  3. This raw data is then sent to the View to be nicely presented to the user.



A user searches a store for “gloves”. The Controller sends the “gloves” search request to the Model. The Model then returns a list of all the gloves and data related to the gloves to the Controller. The Controller then sends this data to the View for the user to see and select the pair of gloves he wants to buy.

The flow may vary in the explanation uses the Controller as a central hub. The Model does not have not have to send the data back to the Controller but can send it to straight to View. It all depends on the setup.