The MVC pattern is not only versatile (can be used in a variety of roles) but also works will in collaboration with other instances operating at different levels. Consequently there is not a single but multiple forms of the MVC pattern such as MVVM (Model-View-ViewModel) and MVP (Model-View-Presenter).
In deed, the orientation of the principle components engaged in web applications have a close alignment to the passive form of the MVC pattern. The web browser (client) communicates user interaction and presents data to the user over the HTTP protocol, which can be seen as a form of View. The web/application server processes and responds to user interaction and communicates with server-side components on behalf of the client (View), acting as a form of Controller. Behind the scenes there is often a database of some form to preserve data just like the Model.
Even within the page the MVC pattern could be used at a lower level. In our example application the Task list and Task details panel could be implemented to have their own MVC, with the Controller of each communicating with the View component of the page.
Return the to previous section.