所以..我不明白为什么我什至应该在 ActionScript 3 中使用单例模式。谁能解释一下?也许我只是不明白它的目的。我的意思是它与其他模式有何不同?这个怎么运作?我检查了 PureMVC 源代码,它充满了单例。为什么他们在视图、模块、控制器中使用它们?
问问题
282 次
2 回答
3
我几乎没有使用 PureMVC 的实际经验,所以我不能支持或反对他们使用单例。因此,我会尽量让我的答案更笼统。
单例是一种只能实例化一次并且可以全局访问的对象。
通常,使用这种模式是为了轻松访问某种服务,可能是用于从服务器检索数据的服务外观或保存有关设置等信息的应用程序模型。
许多人认为单例模式是一种反模式,原因有很多,下面提到了其中的一些:
- 它们携带状态,使得单元测试等某些任务几乎不可能完成。
- 它们本质上违反了单一职责原则。
- 由于它们是全局可访问的,因此它们促进了类之间的紧密耦合。
于 2010-09-26T21:53:40.193 回答
1
单例模式将对象的实例化限制为仅一个实例。有时在系统中使用这种模式,因此不能随意创建控制系统部分的对象。例如,如果您有一些管理设置的对象,您可能希望更改设置的内容仅修改该对象,而不创建新对象。
于 2010-09-26T20:06:34.713 回答