我不是在寻找单身人士。有数百个链接。我没有找到client of singleton
的好例子。示例考虑Singleton类(其内部结构根本不重要)
我想使用这个对象。客户在哪里/如何使用它?它应该用在构造函数中吗?静态初始化器?
Singleton tmp = Singleton.getInstance( );
我很感激sample examples
singleton clients
答案 0 :(得分:1)
单例模式是指您创建一个对象,该对象的设计是该程序中存在该对象的单个实例。作为客户端,您必须获得指向实例的指针。您只有四个选项:
通常,getInstance应该非常高效,并且没有理由在自己的静态中保存引用的副本。从某种意义上说,你的静态是复制单例类的工作,而单例类也必须具有静态。一个单不应该改变,但如果它曾经做过,你将留下陈旧的参考。如果您只需要一个呼叫,则选项4可以,但是当需要多个呼叫时,此模式会导致效率低下。因此,出于所有这些原因,我认为您应该使用选项3并且每次都获取实例。
有时候这种单身人士模式是合适的。有时候它是不合适的,而使用静态方法的类更有效。如何判断何时何何不使用Singleton模式?这是我上周就这个主题发表的博客文章:
http://agiletribe.wordpress.com/2013/10/08/dont-abuse-singleton-pattern/