策略模式(行为类模式)
2017-10-25 22:33
344 查看
结构图
案例;
定义一组算法,将每个算法都封装起来,并使他们之间可以互换。
实现:
调试结果:
案例;
定义一组算法,将每个算法都封装起来,并使他们之间可以互换。
实现:
class Strategy{ public: virtual void crypt() = 0; virtual ~Strategy(){} };
class AES :public Strategy{ public: virtual void crypt(){ cout << "AEX加密算法" << endl; } ~AES(){} };
class DES :public Strategy{ public: virtual void crypt(){ cout << "DEX算法" << endl; } ~DES(){} };
class Context{ private: Strategy *strategy; public: Context(Strategy *strategy){ this->strategy = strategy; } void myOperator(){ strategy->crypt(); } ~Context(){ delete strategy; } };
int main(void){ Context *con = new Context(new AES()); con->myOperator(); delete con; system("pause"); return 0; }
调试结果:
相关文章推荐
- 行为模式之观察者模式
- 策略模式-设计模式系列
- 设计模式-行为模式(Observer)
- 设计模式 -- 行为模式
- ThinkPHP CBD模式中 自定义行为
- 行为模式--类型对象
- Erlang自定义gen_container行为模式开发
- 行为模式之策略模式
- java行为设计模式——模板模式
- 责任链模式(Chain Of Responsibility Pattern,对象行为模式)
- 设计模式-行为-命令
- 状态——对象行为模式
- 行为类模式大PK
- 【设计模式学习笔记十四】【行为模式】【职责链模式(Chain Of Responsibility)】
- 行为模式之Iterator
- 设计模式-----行为模式
- 行为模式:----剩下
- (行为模式)Iterator——迭代器模式
- Java设计模式_行为模式_观察者模式
- [Design] 设计模式行为模式