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

Re^6: Abusing Exporter for Conditional Inheritance

by mojotoad (Monsignor)
on Mar 17, 2005 at 20:10 UTC ( [id://440524]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Abusing Exporter for Conditional Inheritance
in thread Abusing Exporter for Conditional Inheritance

With all due respect, perrin, the factory solution strikes me as more complex. I am willing to consider it, however, but I still don't understand how you can accomplish it without localizing @ISA. Unless I'm missing something obvious?

Thanks,
Matt

  • Comment on Re^6: Abusing Exporter for Conditional Inheritance

Replies are listed 'Best First'.
Re^7: Abusing Exporter for Conditional Inheritance
by perrin (Chancellor) on Mar 17, 2005 at 20:28 UTC
    Sorry, I fear I've confused you. A class factory is a common way to handle needing a different class in certain situations without changing your calling code, e.g. have a class that uses a database in production and one that uses a CSV file in development, without changing the code that uses it. It's also a convenient way to wrap configuration that needs to be done when creating a new object, so that the calling code doesn't need to think about it.

    Since you say that in this case the change has to be done by inheritance, and there is no need to hide which version is being used from the calling code, I am recommending that you simply write out the classes and don't use a factory.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-04-25 07:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found