从GoF的设计模式看
参与者
·Singleton
Instance
的uniqueinstance
操作。Instance
是一个类操作(即Smalltalk中的类方法和C++中的静态成员函数)。uniqueinstance
。Collaborations
·客户端仅通过Singleton
的Instance
操作访问Singleton
实例uniqueinstance
。
在类Singleton
中,uniqueinstance
是惟一的实例,Instance()
是它的get方法。
其他成员的目的是什么:
SingletonOperation()
,GetSingletonData()
,以及singletonData
谢谢。
发布于 2017-09-29 00:45:02
没有什么特别的,或者更确切地说,它与Singleton
无关,您只需删除它或重命名它或您喜欢的任何东西。它只是一个普通的方法,与类Singleton无关。
发布于 2017-10-03 18:17:32
图表中的附加方法和字段表明,允许单例包含状态和行为;也就是说,单例不只是常量。此外,单类是用于子类的,尽管GoF多次提到这个特性,但这个特性经常被忽略。
当..。唯一的实例应该是可扩展的子类,并且客户端应该能够使用扩展的实例而不修改他们的代码。
因此,附加的方法也被证明是多态的。
Singleton类可以被子类化,并且很容易使用这个扩展类的实例来配置应用程序。可以在运行时使用所需类的实例配置应用程序。
本书接着描述了实现这种配置的多种方法。
https://stackoverflow.com/questions/46480156
复制相似问题