Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Re: Re: Re: OO Design Advice Sought

by cleverett (Friar)
on Nov 18, 2003 at 23:26 UTC ( [id://308177]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: OO Design Advice Sought
in thread OO Design Advice Sought

Unfortunately, Class::DBI has a boatload of constructors:
use Physemp::Model::Account; my $account = Physemp::Model::Account->create(); $accounts = Physemp::Model::Account->search(name => 'Ben Bitdiddle'); $account = Physemp::Model::Account->retrieve(1); my $accounts = Physemp::Model::Account->retrieve_all();

and I'm going to need them all over the place.

I was thinking something like this:

package My::Browser; use base 'My::TT'; my $_cache; sub pager_class { my $class = ref $_[0] || $_[0]; $_cache->{$class} = $_[1] if @_ > 1; return $_cache->{$class}; } BEGIN { (my $temp = __PACKAGE__->pager_class()) =~ s#::#/#igr; require "$temp.pm"; } package Physemp::Admin::Clients; use base 'My::Browser'; use strict; use warnings; use Physemp::Model::Account; __PACKAGE__->pager_class('Physemp::Model::Account');

But "My::Browser" would get compiled ahead of "Physemp::Admin::Clients". I was also thinking of using multiple inheritance, but that won't fly.

I guess I want the equivalent of a C++ template class in Perl.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://308177]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (7)
As of 2024-03-28 11:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found