title: Are there any viable alternatives to the GOF Singleton Pattern?
body: <p>Let's face it.  The Singleton Pattern is <a href="https://stackoverflow.com/questions/11831/singletons-good-design-or-a-crutch#11839">highly controversial</a> topic with hordes programmers on <em>both</em> sides of the fence.  There are those who feel like the Singleton is nothing more then a glorified global variable, and others who swear by pattern and use it incessantly.  I don't want the <a href="http://code.google.com/p/google-singleton-detector/wiki/WhySingletonsAreControversial" rel="noreferrer">Singleton Controversy</a> to lie at the heart of my question, however.  <strong>Everyone can have a tug-of-war and battle it out and see who wins for all I care</strong>.  What I'm trying to say is, I don't believe there is a single correct answer and I'm not intentionally trying inflame partisan bickering. I am simply interested in <em>singleton-alternatives</em> when I ask the question:</p>
  
  <p><strong>Are their any specific alternatives to the GOF Singleton Pattern?</strong></p>
  
  <p>For example, many times when I have used the singleton pattern in the past, I am simply interested in preserving the state/values of one or several variables.  The state/values of variables, however, can be preserved between each instantiation of the class using <strong>static variables</strong> instead of using the singleton pattern.</p>
  
  <p>What other idea's do you have?</p>
  
  <p><strong>EDIT:</strong>  I don't really want this to be another post about "how to use the singleton correctly."  Again, I'm looking for ways to avoid it.  For fun, ok?  I guess I'm asking a purely academic question in your best movie trailer voice, "In a parallel universe where there is no singleton, what could we do?"</p>