static void Main(string[] args) { Console.WriteLine("general method"); TeslaCar tesla = new TeslaCar(); Console.WriteLine(tesla.Build()); Console.WriteLine("---------------------------"); Console.WriteLine("simple factory"); CarFactory factory = new CarFactory(); Car audiCar = factory.CreateCar("Audi"); Console.WriteLine(audiCar.Build()); Console.WriteLine("---------------------------"); Console.WriteLine("factory method"); IFactory carFactory = new BenzFactory(); Car benZCar = carFactory.CreateCar(); Console.WriteLine(benZCar.Build()); Console.WriteLine("---------------------------"); Console.WriteLine("abstract factory"); ICarFactory sportCarFactory = new SportCarFactory(); ICar benzSportCar = sportCarFactory.GetBenzCar(); ICar teslaSportCar = sportCarFactory.GetTeslaCar(); benzSportCar.BuildCar(); teslaSportCar.BuildCar(); Console.ReadKey(); }
public static AbsCar CreateCar(CarType type) { AbsCar target = null; AbsCarFactory factory = null; switch (type) { case CarType.Benz: factory = new BenzFactory(); break; case CarType.Bmw: factory = new BmwFactory(); break; case CarType.Honda: factory = new HondaFactory(); break; default: break; } if (null == factory) { return(null); } target = factory.CreateCar(); return(target); }
static void Main(string[] args) { IFactory factory = new AudiFactory(); Console.WriteLine(factory.CreateAuto()); factory = new BenzFactory(); Console.WriteLine(factory.CreateAuto()); Console.ReadKey(); }
static void Main(string[] args) { //生产Benz IFactory benzFactory = new BenzFactory(); ICar benzJeep = benzFactory.ProduceJeep(); ICar benzRunning = benzFactory.ProduceRunning(); benzJeep.Run(); benzRunning.Run(); }
static void Main(string[] args) { Console.WriteLine("Abstract Factory Mode"); CarFactory carFactory = new BenzFactory(); carFactory.CreateWindows(); carFactory.CreateWheels(); Console.WriteLine("Change Factory To BMWFactory"); carFactory = new BmwFactory(); carFactory.CreateWindows(); carFactory.CreateWheels(); }