Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^2: Things I Don't Use in Perl

by skx (Parson)
on Aug 24, 2005 at 11:14 UTC ( #486153=note: print w/ replies, xml ) Need Help??


in reply to Re: Things I Don't Use in Perl
in thread Things I Don't Use in Perl

I can see the argument against using Singletons just as global variables.

But in many circumstances they are useful. The most obvious two situations I use them are in:

  • Log objects.
  • Database handles.

Passing a database handle to all methods, or to multiple objects gets sloppy fast - but having a single resource to fetch it from is neat.

Similarly with debug files; although they are sometimes abused when you realise you need more than one logfile...

Steve
--


Comment on Re^2: Things I Don't Use in Perl
Replies are listed 'Best First'.
Re^3: Things I Don't Use in Perl
by exussum0 (Vicar) on Aug 24, 2005 at 19:43 UTC
    I can easily think of two situations where those have driven me MAD.

    I need to connect to a different dateabase than I used to for party of an application. I have to change which variable names I'm using to use the right database.

    I wrote one app, where it had a kernel so to speak, w/ a logger attached. Creating a new kernel would create a second running copy of everything, 'cept the logger, 'cause it was a singleton. Grrr!

    Don't privatize your constructors! If I want a shared object, good, if not, it's just as good. The only thing I ever want globals are things like, numbers. 1 only has one value. 1!

    ----
    Give me strength for today.. I will not talk it away..
    Just for a moment.. It will burn through the clouds.. and shine down on me.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (12)
As of 2015-07-29 20:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (267 votes), past polls