1. 策略模式
应用场景
对于同一件任务,有不同的处理方式,得到不同的结果
- 排序: 按不同的策略进行排序
- 其它
优缺点
- 优点
- 易于拓展:在不改变当前代码的情况下可以新增不同的策略
- 灵活:使用运行时多态更改策略
- 缺点
实现模板
#include <iostream> // 策略接口 class Strategy { public: virtual ~Strategy() {} virtual int execute(int a, int b) const = 0; }; // 具体策略 class Strategy1 : public Strategy { public: int execute(int a, int b) const override { // ... } }; // 具体策略 class Strategy2 : public Strategy { public: int execute(int a, int b) const override { // ... } };