[Catalyst] plugins; was Re: debug mode
Dave Rolsky
autarch at urth.org
Thu Jun 7 22:43:08 GMT 2007
On Thu, 7 Jun 2007, Matt S Trout wrote:
> I'm not fond of any magic global if I can possibly avoid it - I find it
> tends to encourage tight coupling of code and action at a distance and
> makes testing and debugging messy.
I agree. A singleton is basically a _very_ thin mask for a global.
> I prefer anything a method call needs to have been either (a) passed to the
> object when it was constructed or (b) passed to the method as it's called.
Basically, what Catalyst seems to have is a sort of listener type of
pattern, but listening is implicit rather than explicit. It's a little
weird and magical, but I think it's better than a singleton. I'm not sure
it's the _best_ solution, as it still seems a little too arcane for my
tastes.
Also, the docs for this feature could be clearer. I've never quite grokked
what makes Catalyst decide to look for this method in a class. Is it
simply _any_ class that's passed in the import list to "use Catalyst"?
The docs refer to "a Catalyst component", but this isn't really
well-defined. I know it includes models, views, and controllers, but are
plugins also components?
Also, I know weaken() came up in this discussion. It'd be good if the docs
addressed exactly when this is needed and give an example.
-dave
/*===================================================
VegGuide.Org www.BookIRead.com
Your guide to all that's veg. My book blog
===================================================*/
More information about the Catalyst
mailing list