Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略).Strategy模式主要用来平滑地处理算法的切换 . 举个例子:假如有两个加密算法,我们分别调用他们,之前我们可以这么写 先写一个算法接口 public interface Strategy { //加密 public void encrypt(); } 再写两个对应的实现类 public class
明确是王道 --Clean Code 先定义策略类 package cn.no2.strategy; public abstract class Strategy { //省略属性 //算法方法 public abstract void algrithmInterface(); } 在定义若干策略子类 package cn.no2.strategy; public class ConcreteStrategyA extends Strategy { @Override public void a
首先,我们来看下策略模式的概念.一般的解释如下: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化.(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm vary independently fro