Model - It is used to represent the shape of the data and business logic. It maintains the data of the application. Model objects are used to retrieve and store model state in the database.
View - It is the user interface. It is used to display the data using a model to the user. It also enables them to modify the data.
Controller - It handles the user request. It interacts with the view and in-turn raises the appropriate URL request. This URL request will be handled by the controller. The controller then renders the appropriate view with the model data as a response.