单例类模板

单例模式

需求的提出

在架构设计时,某些类在整个系统生命期中最多只能有一个对象存在(Single Instance)

如何定义一个类,使得这个类最多只能创建一个对象?

要控制类的对象数目,必须对外隐藏构造函数

思路:

将构造函数的访问属性设置为private

定义instance并初始化为NULL

当需要使用对象时,访问instance的值

  空值:创建对象,并用instance标记

  非空值:返回instance标记的对象

存在的问题

  需要使用单例模式时:

    必须定义静态成员变量c_instance

    必须定义静态成员函数GetInstance()

解决方案

将单例模式相关的代码抽取出来,开发单例类模板。当需要单例类时,直接使用单例类模板。

小结

单例模式是开发中最常用的设计模式之一

单例模式的应用使得一个类最多只有一个对象

可以将单例模式相关的代码抽象成类模板

需要使用单例模式的类直接使用单例模板

猜你喜欢

转载自www.cnblogs.com/sugarWill666/p/9215998.html