感覺就是個面向接口編程镶蹋,
and 和命令模式還有中介者模式差不多,但是又差很多...應該說策略模式是兩層的,而命令和中介是三層的贺归。
interface IStrategy{
public void doSomething();
}
class ConcreteStrategy1 implements IStrategy{
@Override
public void doSomething() {
System.out.println("1");
}
}
class ConcreteStrategy2 implements IStrategy{
@Override
public void doSomething() {
System.out.println("2");
}
}
class Context{
private IStrategy strategy;
public Context(IStrategy strategy){
this.strategy=strategy;
}
public void execute(){
strategy.doSomething();
}
}
public class StrategyTest {
public static void main(String[] args){
Context context;
System.out.println("exe 1");
context=new Context(new ConcreteStrategy1());
context.execute();
System.out.println("exe 2");
context=new Context(new ConcreteStrategy2());
context.execute();
}
}