内容:
结构图:
结构代码:
重点:Context类的作用
小结:
策略模式是一种定义一系列算法的方法,所有这些算法完成的都是相同的工作(抽象策略类中的方法),只是实现不同(具体策略类),它可以以相同的方式调用所有算法(通过Context类实现),减少了各种算法类与使用算法类之间的耦合。
优点:
(1)策略模式的Strategy类层次为Context定义了一系列可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。(2)简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。(3)策略模式封装了变化,适用于需要在不同时间应用不用业务规则的情况。封装算法使得你可以独立于抽象类改变它,使得它易于切换、易于理解、易于扩展。