http://c2.com/cgi/wiki?SingletonsAreEvil

Almost every use of singleton I have encountered was best replaced by an attribute accessor in a higher level object that is then either

  • explicitly passed around via a parameter, or
  • used via a dynamically bound variable (possibly within a thread-safe wrapper)

相关文章: