时势造英雄——策略模式

策略模式定义

    策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以相互。策略模式让算法独立于是用它的客户而独立变化。

策略模式的使用场景

    1)针对同一类型的多种处理方式,仅仅是具体行为有差别时。

    2)需要安全的封装多种同一类型的操作时。

    3)出现同一抽象类有多个子类,而又需要使用if-else或者swich-case来选择具体子类时。

策略模式小结

    策略模式主要用来分离算法,在相同的行为抽象下有不同的具体实现策略。这个模式很好地演示了开闭原则,也就是定义抽象,注入不同的实现,从而达到很好的可扩展性。

    优点:

    1)结构清晰明了、使用简单直观

    2)耦合度相对而言较低,扩展方便

    3)操作封装也更为彻底,数据更安全

    缺点:

    随着策略的增加,子类也会变得繁多

你可能感兴趣的:(时势造英雄——策略模式)