Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

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":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

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

    No recent polls found