[cgiapp] code reuse.

Dan Horne dan.horne at redbone.co.nz
Mon Mar 17 17:58:21 EDT 2008


Some people argue that with an MVC architecture, the database handle should
never reside in the controller, and should only be accessible in the model,
e.g.

http://www.oreillynet.com/onlamp/blog/2007/06/what_is_mvc.html

I'd be interested to know how other C::A people implement this in their
apps.

> -----Original Message-----
> From: cgiapp-bounces at lists.openlib.org [mailto:cgiapp-
> bounces at lists.openlib.org] On Behalf Of Mark Fuller
> Sent: Tuesday, 18 March 2008 9:34 a.m.
> To: CGI Application
> Subject: Re: [cgiapp] code reuse.
> 
> James,
> 
> Another thought. If these routines are meant to be reused among
> various C::A applications, have you considered making (one or more)
> superclass that you're application is a base of? Like the following?
> This way you could have myapp1, myapp2, etc. that inherit from
> "superclassMyApp". Which inherits from "superclassWebApp." With a
> hierarchy like this you could keep extremely common things in the
> highest level. Things that are application specific in lower levels.
> You're dbh, uuid and logging routines might go in the top-most level.
> 
> ===========
> package myapp;
> 
> use base 'superclassMyApp';
> 
> [Methods specific to your application, like setup and actual run modes].
> 
> etc...
> 
> 1;
> ===========
> 
> package superclassMyApp;
> 
> use base 'superclassWebApp';
> 
> [common methods. Maybe cgiapp_init goes here.]
> 
> 1;
> ===========
> 
> package superclassWebApp;
> 
> use base 'CGI::Application';
> 
> [even more common methods. Maybe cgiapp_get_query goes here if you're
> using CGI::Simple.]
> 
> 1;
> ============
> 
> #####  CGI::Application community mailing list  ################
> ##                                                            ##
> ##  To unsubscribe, or change your message delivery options,  ##
> ##  visit:  http://lists.openlib.org/mailman/listinfo/cgiapp    ##
> ##                                                            ##
> ##  Web archive:   http://lists.openlib.org/pipermail/cgiapp/   ##
> ##  Wiki:          http://cgiapp.erlbaum.net/                 ##
> ##                                                            ##
> ################################################################




More information about the cgiapp mailing list