Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

(jeffa) 3Re: XML Resume Module design

by jeffa (Bishop)
on Jul 26, 2002 at 15:27 UTC ( #185568=note: print w/replies, xml ) Need Help??


in reply to Re: (jeffa) XML Resume Module design
in thread XML Resume Module design

"But it seems daft to [force] you to copy the data to another instance"

I should have placed $self inside base instead, and allowed the subclasses to format it in some way - but i was trying to keep it simple. The idea is that the base clase contains the data in a Perl data structure and the subclasses are responsible for flitering that data structure into a particular format. Let me try again:
package Factory; sub create { my $class = shift; my $obj = 'Base::' . shift; return $obj->new(); } package Base; sub new { my $class = shift; my $self = { thing => 'foo' }; return bless $self,$class; } package Base::Bold; use base 'Base'; sub output { my $self = shift; return '<b>' . $self->{thing} . '</b>'; } package Base::Italic; use base 'Base'; sub output { my $self = shift; return '<i>' . $self->{thing} . '</i>'; } package main; my @things = ( Factory->create('Bold'), Factory->create('Italic'), ); print $_->output,$/ for @things;

And an HTML resume is different than a PDF resume: HTML and PDF are adjectives to the noun resume - an adjective qualifies, distinquishes, and specifies - hence, an HTML resume is one kind of resume (Resume::HTML), and a PDF resume is another kind (Resume::PDF). I you don't like this, then how about naming them Resume::AsHTML and Resume::AsPDF instead? ;)

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2020-09-25 23:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If at first I donít succeed, I Ö










    Results (141 votes). Check out past polls.

    Notices?