来自GoF的设计模式
参与者
•
Singleton
定义了
Instance
操作,允许客户端访问其唯一实例uniqueinstance
。Instance
是一个类操作(即,一个类方法) Smalltalk和C ++中的静态成员函数。可能负责创建自己的唯一实例
uniqueinstance
。协作
•客户仅通过
Singleton
访问uniqueinstance
实例Singleton
Instance
操作。
在课程Singleton
中,uniqueinstance
是唯一的实例,Instance()
是其获取方法。
其他成员的目的是什么:
SingletonOperation()
,GetSingletonData()
和singletonData
?感谢。
答案 0 :(得分:1)
没有什么特别的,或者更确切地说它与Singleton
无关,你可以删除它或重命名它或任何你喜欢的。这只是一种常规方法,与您的班级 Singleton 无关。
答案 1 :(得分:1)
图中的其他方法和字段表明允许单身人员包括状态和行为;即单身人士不仅仅是常数。此外,尽管GoF多次提到单身人士,但是单身人士的目的是进行细分,这是一个经常被忽视的特征。
当...的唯一实例应该可以通过子类化进行扩展时使用Singleton模式,并且客户端应该能够使用扩展实例而无需修改其代码。
因此,其他方法也表明单体可能是多态的。
Singleton类 可以是子类,并且使用实例配置应用程序很容易 这个扩展课程。您可以使用实例配置应用程序 在运行时需要的类。
本书接着描述了可以实现这种配置的多种方式。