第七章 创建型模式-3-单件模式.pptVIP

  • 3
  • 0
  • 约小于1千字
  • 约 12页
  • 2016-04-14 发布于浙江
  • 举报
第七章 创建型模式-3-单件模式

单件模式(Singleton) 意图 : 保证一个类有且只有一个实例,并提供一个访问它的全局访问点。 适用性 : 1. 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时; 2. 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 结构 : 参与者 : 定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作(C++中的一个静态成员函数)。 可能负责创建它自己的唯一实例。 模式原型代码 :见文档 协作 : 客户只能通过Singleton的Instance操作访问一个Singleton的实例。 Singleton模式有许多优点 : 对唯一实例的受控访问:因为Singleton类封装它的唯一实例,所以它可以严格控制客户怎样以及何时访问它。 缩小名空间:Singleton模式是对全局变量的一种改进。它避免了那些存储唯一实例的全局变量污染名空间。 允许对操作和表示的精华:Singleton类可以有子类,而且用这个扩展类的实例来配置一个应用是很容易的。 允许可变数目的实例:只有允许访问Singleton实例的操作需要改变。 比类操作更灵活:C++中的静态成员函数不是虚函数,子类不能多态的重定义它们。 使用Singleton模式要点 --Singleton模式中的实例构造器可以设置为protected以允许子

文档评论(0)

1亿VIP精品文档

相关文档