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.


In reply to Re^7: Abusing Exporter for Conditional Inheritance by perrin
in thread Abusing Exporter for Conditional Inheritance by mojotoad

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.