设计模式之策略模式(C++)
发布时间
阅读量:
阅读量
策略模式
构建一组算法体系,将各个算法进行独立封装,并实现其间的互换性。策略模式能够使算法的变动与使用该算法的客户端相互分离,亦被称为政策模式。
策略模式主要由Context(环境类)、Strategy(抽象策略类)以及ConcreteStrategy(具体策略类)三部分构成。
策略模式实例之排序策略

从类图结构可以发现,ArrayHandler(数组处理类、环境类)通过聚合的方式关联了若干(或通过依赖注入方式引入)特定的Sort(具体策略类),并且由sort()函数负责调用所注入的Sort策略。
以下为C++语言实现版本。
抽象策略类Sort(抽象排序类)
//抽象策略类Sort(抽象排序类)
class Sort{
public:
virtual vector<int> sort(vector<int> arr) = 0;
};
具体实现类BubbleSort(冒泡排序类)
//具体策略类BubbleSort(冒泡
全部评论 (0)
还没有任何评论哟~
