扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍“在什么情况下可以使用Singleton模式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在什么情况下可以使用Singleton模式”文章能帮助大家解决问题。
成都做网站、网站设计的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。
适用性
在下面的情况下可以使用Singleton模式
• 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。
这句话的翻译有一点点问题,还是看英文原文:
there must be exactly one instance of a class, and it must be accessible
to clients from a well-known access point.
作者认为应该这样翻译:当类只能有一个实例而且要求这个实例可以通过一个清晰简明的访问点访问时。
• 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。
英文原文
when the sole instance should be extensible by subclassing, and clients
should be able to use an extended instance without modifying their code.
作者的译法:当这个唯一的实例需要通过子类扩展,而且要求客户不需要修改代码就可以使用这个扩展的的实例时。
结构
估计这是《设计模式》一书中最简单的类图了。但即便如此,这个图仍然可以简化:真正必须的只有2个静态成员。
参与者
• Singleton
— 定义一个Instance操作,允许客户访问它的唯一实例。 Instance是一个类操作(即Smalltalk中的一个类方法和C++中的一个静态成员函数)。
类操作这个词时相对于实例操作而言的,C++中就是静态成员函数。
— 可能负责创建它自己的唯一实例。
也可能时使用实现定义好的(例如全局变量)实例。
协作
• 客户只能通过Singleton的Instance操作访问一个Singleton的实例。
关于“在什么情况下可以使用Singleton模式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流