1.策略模式:
在开发过程中,常常遇见实现某一功能有多种算法策略的情况,可以根据不同的业务场景选择不用的策略。策略模式就是将每种算法封装为一个策略,各个策略之间可以相互替换。
//策略模式示例代码
#include<iostream>
using namespace std;
//策略类(抽象类)
class Strategy
{
public:
Strategy() = default;
~Strategy() = default;
virtual void StrategyFunc() = 0;
private:
};
//具体策略类A
class StrategyA : public Strategy
{
public:
StrategyA() = default;
~StrategyA() = default;
virtual void StrategyFunc()
{
cout << "Stratgy A Function" << endl;
}
};
//具体策略类B
class StrategyB : public Strategy
{
public:
StrategyB() = default;
~StrategyB() = default;
virtual void StrategyFunc()
{
cout << "Stratgy BS Function" << endl;
}
};
//上下文类
class Context
{
public:
Context(Strategy * iStrategy)
{
pStratgy = iStrategy;
}
~Context() = default;
void