[development] is drupal a MVC stuff

Matthew Farina matt at mattfarina.com
Fri Dec 11 17:29:32 UTC 2009


I think you are making a case that people are misusing the MVC name  
rather than including Drupal in the misuse.

On Dec 11, 2009, at 11:03 AM, Pierre Rineau wrote:

> On Fri, 2009-12-11 at 10:40 -0600, larry at garfieldtech.com wrote:
>> The defining attribute of MVC is, IMO, that the View component has
>> direct access to the Model component using an observer relationship,
>> without going through a separate Controller.
>> hook_page_alter() is in no way a direct observer relationship between
>> the View component and the Model component.  *_alter hooks are a
>> pipes-and-filter approach, or, arguably, visitor pattern.
>> Drupal is very much not an MVC design.  It's not true PAC either,  
>> but I
>> have and do argue that it is closer to PAC than MVC.
>> Someone needs to correct the Wikipedia page, which is simply wrong in
>> this regard.
>> --Larry Garfield
> If you want to stick to strict MVC definition, yes Drupal is not,  
> but in
> the most software I saw or developed with until now, not anyone had a
> real MVC implementation.
> In MVC, this Controller -> Model -> View (data flow)
> In Drupal, data flow is:
> - Controller (menu router) -> Model (menu callback, module code)
> (direct association)
> - Model (indirect association through the theme() calls) -> View
> - View -> Controller (indirect association, through user clicks)
> This is an incomplete and simple (without the observer/observable
> pattern) implementation, but I think it does sticks to MVC pattern.
> This is an opinion, I think it can be discussed.
> Hook system is a different pattern used for different goals, mostly  
> used
> to alter data (it does not alter the behavior I described upper,  
> except
> maybe in some really weird cases).
> Pierre.
> Event if observer pattern is not really here, I think it sticks to MVC
> pattern.

More information about the development mailing list