设计模式之策略模式
2012-10-10 16:27
281 查看
//策略模式实例代码 //策略模式作为一种软件设计模式,指对象有某个行为,但在不同的场景中, //该行为有的实现算法。 #include <iostream> using namespace std; class StrategyInterface //虚基类 { public: virtual void execute() = 0;//纯虚函数 }; class ConcreteStrategyA: public StrategyInterface { public: virtual void execute() { cout << "Called ConcreteStrategyA execute method" << endl; } }; class ConcreteStrategyB: public StrategyInterface { public: virtual void execute() { cout << "Called ConcreteStrategyB execute method" << endl; } }; class ConcreteStrategyC: public StrategyInterface { public: virtual void execute() { cout << "Called ConcreteStrategyC execute method" << endl; } }; class Context { private: StrategyInterface *_strategy; public: Context(StrategyInterface *strategy):_strategy(strategy) //成员初始化列表 { } void set_strategy(StrategyInterface *strategy) { _strategy = strategy; } void execute() { _strategy->execute(); } }; int main(int argc, char *argv[]) { ConcreteStrategyA concreteStrategyA; ConcreteStrategyB concreteStrategyB; ConcreteStrategyC concreteStrategyC; Context contextA(&concreteStrategyA); Context contextB(&concreteStrategyB); Context contextC(&concreteStrategyC); contextA.execute(); contextB.execute(); contextC.execute(); contextA.set_strategy(&concreteStrategyB); contextA.execute(); contextA.set_strategy(&concreteStrategyC); contextA.execute(); return 0; }
相关文章推荐
- 设计模式: 策略(strategy)模式
- 设计模式之策略模式 Strategy
- TIJ_策略设计模式
- 设计模式学习笔记之策略模式
- java设计模式——创建型模式专题(二)策略模式
- 设计模式实例学习-策略模式
- 设计模式:策略模式(Strategy)
- Java与设计模式(二十三)行为型--策略模式
- Android设计模式笔记-单例模式、策略模式
- 设计模式之策略模式(c++实现)
- 设计模式——策略模式
- JAVA设计模式笔记之策略模式
- Android设计模式 -- 巧用策略模式告别过多的 if...else...
- 设计模式学习笔记(六)之策略模式(Strategy)
- 设计模式袖珍版 连续转载之 - Strategy(策略)
- PHP设计模式-策略模式
- java/android 设计模式学习笔记(17)---策略模式
- Java设计模式——策略模式
- 设计模式--策略模式
- 设计模式--策略模式