软件设计策略模式
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
package 实验23策略模式; class AirplaneStrategy implements TravelStrategy { public void travelMethod() { System.out.println("飞机游!"); } }
package 实验23策略模式; class BicycleTravelStrategy implements TravelStrategy { public void travelMethod() { System.out.println("自行车游!"); } }
package 实验23策略模式; class TrainStrategy implements TravelStrategy { public void travelMethod() { System.out.println("火车游!"); } }
package 实验23策略模式; interface TravelStrategy { public void travelMethod(); }
package 实验23策略模式; class MyContext { private TravelStrategy ts; public MyContext(TravelStrategy ts) { this.ts=ts; } public void travelMethod() { ts.travelMethod(); } }
package 实验23策略模式; public class Client { public static void main(String args[]) { MyContext mc=new MyContext(new BicycleTravelStrategy()); mc.travelMethod(); MyContext mc2=new MyContext(new AirplaneStrategy()); mc2.travelMethod(); MyContext mc3=new MyContext(new TrainStrategy()); mc3.travelMethod(); } }