C++设计模式学习之策略模式
2017-08-10 21:12
232 查看
Strategy:行为模式
封装算法:为所有的算法提供一个抽象的算法接口,并通过继承该抽象接口对所有的算法加以封装和实现。
具体的算法选择交由客户端决定。把公共代码提取公因式到父类
封装算法:为所有的算法提供一个抽象的算法接口,并通过继承该抽象接口对所有的算法加以封装和实现。
具体的算法选择交由客户端决定。把公共代码提取公因式到父类
#include<stdlib.h> #include<iostream> using namespace std; class Strategy{ public: virtual void SymEncrypt() = 0; }; class Des :public Strategy{ public: virtual void SymEncrypt(){ cout << "使用DES加密" << endl; } }; class AES :public Strategy{ public: virtual void SymEncrypt(){ cout << "AES加密" << endl; } }; class Context{ public: Context(Strategy *s){ p = s; } void Operate(){ p->SymEncrypt(); } protected: private: Strategy *p; }; void main(){ //Strategy *s = NULL; //s = new AES; //s->SymEncrypt(); //delete s; Strategy *s = NULL; Context *ctx = NULL; s = new AES; ctx = new Context(s); ctx->Operate(); delete s; delete ctx; system("pause"); }
相关文章推荐
- <C/C++ 版> 设计模式 学习之 策略模式
- C++设计模式学习笔记三:策略模式
- <C/C++ 版> 设计模式 学习之 策略模式+工厂模式
- C++设计模式学习之策略模式
- HEAD_FIRST设计模式学习 ----策略模式 c++简单实现代码
- 设计模式C++学习笔记之十八(Visitor访问者模式)
- 设计模式学习笔记二:Strategy,策略模式
- 设计模式C++学习笔记之九(Template Method模板方法模式)
- 设计模式C++实现(2) 策略模式
- 设计模式C++学习笔记之五(Factory Method工厂方法模式)
- 设计模式C++实现——策略模式
- 【设计模式】学习笔记1:策略模式(Strategy)
- 设计模式学习笔记-策略模式
- 设计模式学习 之 策略模式
- 步步为营 .NET 设计模式学习笔记 三、Strategy(策略模式)
- 学习php设计模式 php实现策略模式(strategy)
- 设计模式学习之 策略模式
- C++设计模式之策略模式
- 《Head First 设计模式》例子的C++实现(1 策略模式)
- 设计思想学习—策略模式