static void Main(string[] args)
{
Console.WriteLine("Please Enter Factory Mehtod No:");
Console.WriteLine("================================");
Console.WriteLine("no factory method");
Console.WriteLine("1 HongQiCarFactory");
Console.WriteLine("2 BMWCarFactory");
Console.WriteLine("================================");
while (true)
{
int no = Int32.Parse(Console.ReadLine().ToString());
//这里获取编号之后可以用反射方式创建对应的工厂类
CarFactory carFactory = null;
switch (no)
{
case 1:
carFactory = new HongQiCarFactory();
break;
case 2:
carFactory = new BMWCarFactory();
break;
default:
return;
}
Car c = carFactory.MakeCar();
c.StartUp();
c.Run();
c.Stop();
}
}