public Passat(CarPartsFactory factory) { Name = "Passat"; Body = "Sedan"; _factory = factory; }
public Tiguan(CarPartsFactory factory) { Name = "Tiguan"; Body = "Crossover"; _factory = factory; }
public Golf(CarPartsFactory factory) { Name = "Golf"; Body = "Hatchback"; _factory = factory; }
public Touareg(CarPartsFactory factory) { Name = "Touareg"; Body = "Big Crossover"; _factory = factory; }
static void Main(string[] args) { ICarPartsFactories carPartsFactories = new CarPartsFactory(); ICarPartsFactory carPartsFactory = carPartsFactories.GetFactory(CarType.Truck); ICarAssemblyLine carAssemblyLine = new CarAssemblyLine.CarAssemblyLine(carPartsFactory); ICar car = carAssemblyLine.GetCar(); Console.WriteLine($"Parts produced by : {carPartsFactory.GetType().Name} \nEngine info: {car.Engine.ToString()} \nWindshield Info: {car.Windshield.ToString()}"); Console.ReadLine(); }
protected override IVehicle CreateVehicle(VehicleType vehicleType) { IVehicle vehicle = null; switch (vehicleType) { case VehicleType.Car: IVehiclePartsFactory carFactory = new CarPartsFactory(); vehicle = new Car(carFactory); break; case VehicleType.Motorcycle: IVehiclePartsFactory motorcycleFactory = new MotorcyclePartsFactory(); vehicle = new Motorcycle(motorcycleFactory); break; case VehicleType.Truck: IVehiclePartsFactory truckFactory = new TruckPartsFactory(); vehicle = new Truck(truckFactory); break; } return(vehicle); }
public Golf(CarPartsFactory factory) { Name = "Golf"; _factory = factory; }
public Tuareg(CarPartsFactory factory) { Name = "Tuareg"; _factory = factory; }