On Thu, May 03, 2007 at 06:22:12PM +0100, Anthony Gardner wrote: > Greetings, > > I've had a look at Catalyst and RoR from a basic point of view and like both. > I'm also familiar with the concepts of MVC but again, from a basic point of > view. I'm also busy learning design patterns etc.
Shame RoR isn't MVC - it stuffs all the business logic into the controller, which is utterly utterly wrong. > So, would this be better (haven't thought this through because as I said, my > head is too full) ? ............. > > lib/P4C/Controller/SelectProduct.pm > /Model/Product.pm > /P4CSchema/Product.pm (amongst others) > /P4CSchema.pm > /P4C.pm > /Logic/Product.pm > > and have in Model::Product one of..... > > use base qw|Logic::Product Catalyst::Model::DBIC::Schema|; > use base qw|Catalyst::Model::DBIC::Schema Logic::Product|; > > and let Logic::Product do the ....... > > sub get_all_products_that_like_me() { > } > > Is that's what meant by 'wrapper'? Looks sane to me. What I usually do is have my MyApp::Model::* classes be an interface to the domain model which holds onto a $schema or similar internally and never exposes it - this is also known as the FacadeModel pattern. Catalyst::Model::DBIC::Schema is a thin model that simply reflects the domain model into the app namespace, and should only really be used for simple apps and/or apps where the domain model -is- the site (think a blog or a flickr clone or ...) -- Matt S Trout Need help with your Catalyst or DBIx::Class project? Technical Director Want a managed development or deployment platform? Shadowcat Systems Ltd. Contact mst (at) shadowcatsystems.co.uk for a quote http://www.shadowcatsystems.co.uk/ _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/