设计模式-策略模式的实现(java)
旅行方式的选择(java)
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
config.xml 配置文件
<?xml version="1.0"?>
Client.java 客户端代码
import java.util.Scanner;
interface TravelStrategy
{
public void travel();
class AirplaneStrategy implements TravelStrategy
{
public void travel()
{
System.out.println("飞机游真快,俯瞰大好河山!");
}
}
class TrainStrategy implements TravelStrategy
{
public void travel()
{
System.out.println("火车游,沿途的美景令我流连忘返!");
}
}
class BicycleStrategy implements TravelStrategy
{
public void travel()
{
System.out.println("自行车游,锻炼身体,真不错!");
}
}
class Person
{
private TravelStrategy ts;
public Person(TravelStrategy ts)
{
this.ts=ts;
}
public void travel()
{
ts.travel();
}
}
public class Client
{
public static void main(String args[])
{
Person mc;
System.out.println("你想选择的出行方式!");
System.out.println("1.飞机游");
System.out.println("2.火车游");
System.out.println("3.自行车游");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
switch(a) {
case 1:
TravelStrategy at=new AirplaneStrategy();
mc=new Person(at);
mc.travel();
break;
case 2:
TravelStrategy TrainStrategy=new TrainStrategy();
mc=new Person(TrainStrategy);
mc.travel();
break;
case 3:
TravelStrategy BicycleStrategy=new BicycleStrategy();
mc=new Person( BicycleStrategy);
mc.travel();
}
//Person mc=new Person((TravelStrategy)XMLUtil.getBean());
}
}