Java策略模式笔记

时间:2021-06-18 21:55:54

策略模式是对象的行为模式,把一系列的算法封装,动态的选择自己需要的算法进行使用.

1.需要一个抽象的策略

package pattern.strategy;

public interface Strategy {
public void operate();
}

2.定义具体的策略

package pattern.strategy;

public class Specific implements Strategy{

@Override
public void operate() {
System.out.println("specific!");
}

}

3.环境角色,应用场景.(有一个策略类的引用)

package pattern.strategy;

public class Context {
private Strategy strategy;//策略类的引用
public Context(Strategy strategy){
this.strategy = strategy;
}

public void operate(){
this.istrategy.operate();
}
}

优点:高内聚低耦合,避免了使用多重条件判断语句.扩展性强.

缺点:调用者必须知道所有的策略类,自己决定使用哪一个.