策略模式定义
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以相互。策略模式让算法独立于是用它的客户而独立变化。
策略模式的使用场景
1)针对同一类型的多种处理方式,仅仅是具体行为有差别时。
2)需要安全的封装多种同一类型的操作时。
3)出现同一抽象类有多个子类,而又需要使用if-else或者swich-case来选择具体子类时。
策略模式小结
策略模式主要用来分离算法,在相同的行为抽象下有不同的具体实现策略。这个模式很好地演示了开闭原则,也就是定义抽象,注入不同的实现,从而达到很好的可扩展性。
优点:
1)结构清晰明了、使用简单直观
2)耦合度相对而言较低,扩展方便
3)操作封装也更为彻底,数据更安全
缺点:
随着策略的增加,子类也会变得繁多
网友评论