策略模式定义了算法的家族,并且将这些算法封装起来,让他们之间可以相互的替换,此模式让算法的变化,不会影响到使用算法的客户端。
策略模式的UML类图如下图所示:
策略模式适用于算法变化概率高的应用场合,通过该模式可以将稳定的部分封装起来(算法的调用),而将变化的部分开放出来(可能根据需要添加新的算法,例如上面类图中可以根据需要增加ConcreteStrategyC,D,E),所以这为系统的可扩展性带来了极大的便利~~~
策略模式定义了算法的家族,并且将这些算法封装起来,让他们之间可以相互的替换,此模式让算法的变化,不会影响到使用算法的客户端。
策略模式的UML类图如下图所示:
策略模式适用于算法变化概率高的应用场合,通过该模式可以将稳定的部分封装起来(算法的调用),而将变化的部分开放出来(可能根据需要添加新的算法,例如上面类图中可以根据需要增加ConcreteStrategyC,D,E),所以这为系统的可扩展性带来了极大的便利~~~