策略模式

策略模式(Strategy   Pattern): 定义一系列算法,将每一个算法封装起来,让它们可以互相替代。

一个类的行为或算法可以在运行时更改。

主要用于解决:在多种算法相似的情况下,使用if……else所带来的复杂和难以维护。

策略模式的主要组成部分:策略(Strategy):是一个接口,该接口定义了若干标识符,定义了若干个抽象方法

                                           上下文(context):包含有用策略声明的变量

                                           具体策略(ConcreteStrategy):实现策略接口中的所定义的抽象方法

优点;1、算法可以自由切换,

         2、避免使用多重条件来判断

         3、扩展性好

策略模式的类图:

 

posted @ 2019-03-22 15:39  繁春  阅读(108)  评论(0编辑  收藏  举报