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