初看策略模式,做了简单的调试,后续有时间再仔细思考一下,在这里做个笔记。
策略模式:
在Context对象中设置策略属性(构建策略);通过Context对象执行策略。
工厂模式:
策略模式:
在Context对象中设置策略属性(构建策略);通过Context对象执行策略。
工厂模式:
在工厂中构造任务,赋值给接口指针;通过接口指针操作任务方法。
#include <iostream>
using namespace std;
enum STRATEGY{S1, S2, S3};
class StrategyInterface
{
public:
virtual void execute() = 0;
};
class StrategyA: public StrategyInterface
{
public:
virtual void execute()
{
cout << " StrategyA execute method" << endl;
}
};
class StrategyB: public StrategyInterface
{
public:
virtual void execute()
{
cout << " StrategyB execute method" << endl;
}
};
class StrategyC: public StrategyInterface
{
public:
virtual void execute()
{
cout << " StrategyC execute method" << endl;
}
};
cl