Advertisement

设计模式之策略模式(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)

还没有任何评论哟~