创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,被称为策略设计模式,策略其实就是传递到方法中的参数对象,它的核心思想是把算法抽取出来放到一个独立的对象中。
策略使用步骤: - 定义策略接口 - 定义策略类 - 使用策略
//定义策略接口 interface Strategy{ void operate(); } //定义策略类1 class Strategy1 implements Strategy{ @Override public void operate() { System.out.println("这是策略一"); } } //定义策略类2 class Strategy2 implements Strategy{ @Override public void operate() { System.out.println("这是策略二"); } } //定义策略3 class Strategy3 implements Strategy{ @Override public void operate() { System.out.println("这是策略三"); } } public class TestStrategy { public static void useStrategy(Strategy strategy){ strategy.operate(); } public static void main(String[] args){ //根据不同需求使用不同的策略 useStrategy(new Strategy1()); //useStrategy(new Strategy2()); //useStrategy(new Strategy3()); } }优点 :使策略逻辑和客户处理分离,可以动态改变对象的行为 缺点 :当策略多的时候,会有很多的策略类