Normal ASP .Net Page Model
- Figure out which page to load and call (Normally done with
filesystem but you can introduce modules or Virtual Path Providers to
make it more interesting)
- Call the ProcessRequest method on the Page
MVC Model
- Use Routing to find the Controller object to call
- Call controller object's action method
- Find View to call
- Load view and send to client
The big difference is that MVC explicitly splits "business logic" and
display into two actions. The other cool thing about the model is that
everything is replaceable. You can write your own code for routing,
finding the right controller, calling the controller method, finding
the view, processing and sending the view, etc. Everything is also
based on abstractions of the ASP .Net environment classes like
HttpRequest and HttpContext which makes unit testing and test-first
development, TDD, easier.
I'm a big fan of this new system. It takes me back to writing web apps
in Perl in college where I basically used the same model where one
object performed the requested user action and the other displayed the
HTML/JS.