为什么要使用Singleton模式?

时间:2010-09-26 19:57:57

标签: actionscript-3 singleton flash-cs5

所以..我无法理解为什么我甚至应该在ActionScript 3中使用Singleton模式。任何人都可以解释一下这个吗?也许我只是不明白它的目的。我的意思是它与其他模式有何不同?这个怎么运作? 我检查了PureMVC来源,它充满了单身人士。他们为什么在View,Module,Controller中使用它们?

2 个答案:

答案 0 :(得分:3)

我接下来没有PureMVC的实际经验,所以我不能争论或反对他们使用Singletons。因此,我会尽量使我的答案更通用。

单例是一种只能实例化一次并且可以全局访问的对象。

通常,使用这种模式是为了能够轻松访问某种服务,可能是用于从服务器检索数据的服务外观,或者是保存有关设置等信息的应用程序模型。

出于多种原因,单身人士模式被认为是一种反模式,其中一些原因如下所述:

  1. 他们带着状态,使单位测试等某些任务几乎不可能。
  2. 他们固有地违反了单一责任原则。
  3. 它们促进了类之间的紧密耦合,因为它们可以全局访问。
  4. 我不会列出单身人士可能是反模式的所有原因,resources上有很多subject

答案 1 :(得分:1)

单例模式将对象的实例化限制为仅一个实例。有时在系统中使用这种模式,因此控制系统部分的对象不能随意创建。例如,如果您有一些管理设置的对象,您可能希望更改设置的内容仅修改该对象,而不是创建新对象。