MVCR pattern (was Re: [Catalyst] Bing!)

Sam Vilain sam at vilain.net
Fri Aug 12 00:39:18 CEST 2005


On Thu, 2005-08-11 at 09:15 -0400, David Storrs wrote:
> > Perhaps we don't need to define it and
> > use the practical distinction - everything that you need to call
> > outside of the web environment (from crontabs etc) should go into the
> > Model.
> Or, perhaps we shouldn't.  A very good case can be made for the idea  
> that the Model should be just a thin wrapper over the DB and that the  
> Controller (notice the name) should be the 'smart' thing in the  
> system.  Not everyone will agree with this view and it isn't the  
> classical MVC view but neither of those things makes it wrong.

This is a very classical MVC view.  So classical it predates the term
MVC.

After all, a Database with stored procedures can quite easily be viewed
as a completely functional model, and the applications that view them
the "views" and "controllers".

You could even take the angle on this that the term "database" could be
considered, by definition, to be the model of your business application.
It might use a "Relational Database Management System" to achieve this
database-ness.

That's one huge problem with the term MVC - everybody uses it, very few
people understand it, it means different things to different people,
etc.

Jesse Vincent and Autrijus Tang's "Bamboo" module is designed to be a
real MVC state machine with abstracted and secured logical actions that
can plug on top of request processing frameworks like Catalyst or Mason.
So, if somebody writes a Catalyst::Bamboo, does that mean that Catalyst
wasn't MVC in the first place?  Or just that the term MVC is
sufficiently vague as to be deemed useless?

Sam.




More information about the Catalyst mailing list