I wrote about this situation in my Singletons article for the second ever issue of The Perl Review (which means its one of the free issues :).

Apache::DBI uses the concept to let many parts of the code get a database handle without knowing what anyone else is doing. If there is already a handle with the same connection details, it gives back a reference to the existing handle. Different parts of the code talking to the same database can do it by sharing the handle without even knowing it.

It's a short bit of code, and if you already have your own database layer, you may be able to stick into what you already have without much trouble.

There may be other design tricks, too, but that would take a more careful analysis of what you already have. I can't say whether or not you should make the handle a parameter to the other class. Will that class always talk to the same database as the rest of the script? Or might it connect to different databases?

Good luck :)

--
brian d foy <brian@stonehenge.com>
Subscribe to The Perl Review

In reply to Re: Best Coding practice by brian_d_foy
in thread Best Coding practice by ant

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.