单实例设计模式
单实例设计模式
应用场景
单实例设计模式,是指让一个类只创建一个对象,为了保证这一点,将不会对外暴露new出来的接口对象,只提供一个实例供外部访问。
代码示例
1 | class SignalModel |
将SignalModel()构造函数设为私有,可以阻止外部new出来实例;
为了让外部可以访问类的public接口,所以类暴露出来一个访问自身的接口GetInstance(),并将其声明为静态成员函数;
完整代码
完整代码已放在github上,地址:https://github.com/TreeAndFlower/singleModel.git
关于内存释放
单实例模式声明了一个静态成员变量,那么,什么时候需要释放这个变量申请的空间呢?经过我自己目前经历的项目分析来看,是不需要释放,因为是静态对象,随着进程开始的时候被定义,然后当进程结束后,会自动释放空间;
理论上,项目被设计为单例模式的时候,在进程没有结束以前,是不会希望释放这个实例空间的,所以不用特意纠结在哪里释放实例指针;
总结
打算将自己学习到的设计模式一个个做个系统的总结,也算是自己的学习总结,这将会是一个系列,也是对我的知识体系的一个梳理过程,如有描述不当之处,还请大家指正。
安利《大话设计模式》,讲解的非常有趣而且易懂