Making Sense of MVC

Monday, 26 September 2005

MVC was one of those acronyms that I heard everywhere, with a vague sense of I know it; without being able to pin it down.

This explanation by Mark Pilgrim of Dive into Python is the easiest one to digest.

Interestingly, towards the end of the blog post, he says: > This (Asynchronous message passing between the View and the Model layers) doesn’t work for standard multi-tier web applications, because the view is generated as HTML and sent to the client, where it sits dumbly until the end user does something to initiate an action. > So the model can’t asynchronously tell the view that something interesting happened, because the view isn’t listening.

This is no longer true. (The article was written in 2001, before AJAX became popular). With XMLHTTPRequest, this limitation can be circumvented.

Perhaps this is one of the reasons why Rails developers are so excited about AJAX. So much so that they have integrated AJAX into the Rails framework.