史上最简单的策略模式详解

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

策略模式中需要三个角色:

—抽象策略角色: 策略类,通常由一个接口或者抽象类实现。

public interface IStrategry {
public void shiFang();
}
—具体策略角色:包装了相关的算法和行为。
public class Method1 implements IStrategry{
public Method1() {
}
@Override
public void shiFang() {
System.out.println("使用了算法一");
}
}

—环境角色:持有一个策略类的引用,最终给客户端调用。
public class Context {
private IStrategry stra;

public Context(IStrategry stra) {
this.stra = stra;
}


public void shiFang(){
this.stra.shiFang();
}
}

你可能感兴趣的:(Java)