简单介绍 java设计模式---策略模式

策略模式(Strategy Pattern)
现在来地说说如何来实现策略模式(锦囊妙计):
1、策略[妙计]实现接口(IStrategy);
2、对应的策略实现类(*Strategy);
3、封装策略的锦囊(StrategyContext);
4、策略执行者(StrategyExecute)。
IStrategy.java

/*
*策略实现的接口
*/
public interface IStrategy{
//策略执行方法
    public void  operate();
}
FirstStrategy.java [策略1]

public class FirstStrategy impelements IStrategy{
  public void operate(){
        system.out.printf("this is the first strategy");
    }
}
SecondStrategy.java[策略2]

public class SecondStrategyimpelements IStrategy{
  public void operate(){
        system.out.printf("this is the second strategy");
    }
}
ThirdStrategy.java[策略3]

public class SecondStrategyimpelements IStrategy{
  public void operate(){
        system.out.printf("this is the third strategy");
    }
}
… 
 策略已经有了,那么现在就需要一个盒子(锦囊)来把这个策略(妙计)给装起来以方便使用,以下就定义这么一个盒子: 
 -StrategyContext.java[锦囊]

public class StrategyContext{
private IStrategy iStrategy;
public StrategyContext(IStrategy iStrategy){
this.iStrategy=iStrategy
}
public void doOperate(){
this.iStrategy.operate();
}
}
锦囊已经有了,现在就是缺少使用的人了(也就是执行者)

StrategyExecute.java(执行者)

/**
*执行者
*/
public class StrategyExecute{
    public static void main(String[] args){
        StrategyContext context1=new StrategyContext(new FirstStrategy());
        context1.doOperate();//output: this is the first strategy
                StrategyContext context2=new StrategyContext(new SecondStrategy());
        context1.doOperate();//output: this is the second strategy
                StrategyContext context3=new StrategyContext(new ThirdStrategy());
        context1.doOperate();//output: this is the third strategy

    }
}

以上为全部内容

 

posted on 2022-01-19 16:56  张金蛋  阅读(28)  评论(0)    收藏  举报

导航