Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Extending objects

by punkish (Priest)
on Jul 07, 2010 at 15:29 UTC ( [id://848487]=note: print w/replies, xml ) Need Help??


in reply to Re: Extending objects
in thread Extending objects

Thanks! This is brilliant. I didn't know about h2xs -AXc -n, so that itself is a great tip. The only issue I have with your approach is that Foo and Bar are inherited from Foobar, which works against the mental model I had of this. In my mental model, Foobar was inherited from Foo as well as from Bar. As JavaFan termed it, it was multiple inheritance I was after. Your approach requires in foo.pl

use FooBar::Foo.pm use FooBar::Bar.pm

I want the user to be shielded from the inner workings of Foobar. So, as far as the user is concerned, only the following should be required in foo.pl

use Foobar;

That way I can add more "parents" to Foobar in the future, if required. For example, I could modify Foobar to inherit from Baz.pm as well, but the user would not have to change foo.pl.

All that said, many thanks for your very clear explanation.

--

when small people start casting long shadows, it is time to go to bed

Replies are listed 'Best First'.
Re^3: Extending objects
by stevieb (Canon) on Jul 07, 2010 at 15:43 UTC

    The example I used wasn't a good one ;) It is upside-down in the traditional sense, and based on a project I have that contains numerous modules that require a centralized configuration mechanism so I can use each module individually, as opposed to having to load them all via the parent each and every time.

    Pointers to a better way for this very welcome.

    Cheers,

    Steve

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-04-26 02:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found