策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
策略模式是对算法的包装,是把使用算法的责任和算法本事分割开,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一个系列的策略类里面,作为一个抽象策略类的子类。
2、java代码
Strategy抽象类:
package strategy.strategy;
abstract public class Strategy {
abstract public void strategyInterface();
}
abstract public void strategyInterface();
}
ConcreteStrategy类:
package strategy.strategy;
public class ConcreteStrategy extends Strategy {
public void strategyInterface(){
System.out.println("haha............");
}
}
public void strategyInterface(){
System.out.println("haha............");
}
}
Client类:
package strategy;
import strategy.strategy.ConcreteStrategy;
import strategy.strategy.Strategy;
public class Client {
private static Strategy strategy;
public static void main(String args[]){
strategy = new ConcreteStrategy();
strategy.strategyInterface();
}
}
import strategy.strategy.Strategy;
public class Client {
private static Strategy strategy;
public static void main(String args[]){
strategy = new ConcreteStrategy();
strategy.strategyInterface();
}
}