MVC Architecture

Model – the application data and behaviour in terms of its problem domain. It is independent of the UI. (Domain Model – POCO).

View – the HTML markup we want to display to the user.

Controller – it is responsible for handling a HTTP request. It does some things.

Router – selects the right controller. Based on some rules the router knows that a request should be handled by a method of a class (called an action) with the same name as the request. So, an action in a controller is responsable for handling a request.