策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。
策略模式,定义了一组算法(业务规则),封装了每个算法,这族的算法可互换代替(interchangeable)。
它的组成:
public interface Strategy {
void travelStrategy();
}
public class AirplaneStrategy implements Strategy {
@Override
public void travelStrategy() {
System.out.println("乘坐飞机出游");
}
}
public class TrainStrategy implements Strategy {
@Override
public void travelStrategy() {
System.out.println("乘坐火车出游");
}
}
策略对象改变 context 对象的执行算法。
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void travel() {
strategy.travelStrategy();
}
}
public class Main {
public static void main(String[] args) {
Context context = new Context(new AirplaneStrategy());
context.travel();
}
}
控制台输出:
乘坐飞机出游
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/sinat_27933301/article/details/120654430
内容来源于网络,如有侵权,请联系作者删除!