C++设计模式--单例、策略模式
2015-09-08 18:25
323 查看
单例模式:保证某个类在全局模块只有一个访问点,即只存在一个实例,被全局共享。
.h:
.cpp
策略模式:
策略模式:封装不同的算法,不同的算法可以相互替换,而外部调用则不用过多修改。他们是为了实现同样的目的,只是实现不同,对外接口都是一样的。
在基本的使用中,选择所用具体实现的职责是由客户端来调用,并交给策略模式的对象。
主要是面向对象的继承和多态的应用,常与工厂模式联合使用。
.h:
class CSingleton { public: static CSingleton* Initlize(); static void Uninilize(); static CSingleton* GetInstance(); private: CSingleton(); ~CSingleton(); private: static CSingleton* m_pInstance; };
.cpp
CSingleton* CSingleton::m_pInstance = NULL; CSingleton::CSingleton() { } CSingleton::~CSingleton() { } CSingleton* CSingleton::Initlize() { return GetInstance(); } void CSingleton::Uninilize() { if (m_pInstance != NULL) { delete m_pInstance; m_pInstance = NULL; } } CSingleton* CSingleton::GetInstance() { if (m_pInstance == NULL) { m_pInstance = new CSingleton; } return m_pInstance; }
策略模式:
策略模式:封装不同的算法,不同的算法可以相互替换,而外部调用则不用过多修改。他们是为了实现同样的目的,只是实现不同,对外接口都是一样的。
在基本的使用中,选择所用具体实现的职责是由客户端来调用,并交给策略模式的对象。
主要是面向对象的继承和多态的应用,常与工厂模式联合使用。
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 设计模式之行为型模式 - 调用行为的传递问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- MySQL日志维护策略汇总
- C#单例模式(Singleton Pattern)实例教程
- PHP设计模式之装饰者模式代码实例
- php设计模式之单例模式实例分析
- 介绍php设计模式中的工厂模式
- PHP设计模式之适配器模式代码实例
- 深入浅出23种设计模式
- 浅谈c#设计模式之单一原则
- C#设计模式之观察者模式实例讲解
- C#设计模式之单例模式实例讲解
- 深入理解JavaScript系列(28):设计模式之工厂模式详解