ASP.NET MVC Framework is just another front controller
Posted February 10, 2008on:
ASP.NET framework is already a MVC framework that allows to implement MVC.
Within ASP.NET, there is a front controller.
The controller itself is usually implemented in two parts: a handler and a hierarchy of commands. The handler has two responsibilities:
Retrieve parameters. The handler receives the HTTP Post or Get request from the Web server and retrieves relevant parameters from the request.
Select commands. The handler uses the parameters from the request first to choose the correct command and then to transfers control to the command for processing.
The commands themselves are also part of the controller. The commands represent the specific actions as described in the Command pattern [Gamma95]. Representing commands as individual objects allows the controller to interact with all commands in a generic way, as opposed to invoking specific methods on a common command class. After the command object completes the action, the command chooses which view to use to render the page.
The upcoming ASP.NET MVC framework is another front controller implementation.
ASP.NET’s default front controller truns plain http request into view state and server side events. ASP.NET AJAX extended the ASP.NET web form to support partial page render.
ASP.NET MVC replaced (not extended) the default front controller, so that there won’t be view state, nor server side event any more, in order to have SEO/REST style URL. Not sure if it is worth to trade REST style URL with view state, server side events and partial page render.