Ejemplo n.º 1
0
        public Passat(CarPartsFactory factory)
        {
            Name = "Passat";
            Body = "Sedan";

            _factory = factory;
        }
Ejemplo n.º 2
0
        public Tiguan(CarPartsFactory factory)
        {
            Name = "Tiguan";
            Body = "Crossover";

            _factory = factory;
        }
Ejemplo n.º 3
0
        public Golf(CarPartsFactory factory)
        {
            Name = "Golf";
            Body = "Hatchback";

            _factory = factory;
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 7
0
 public Golf(CarPartsFactory factory)
 {
     Name     = "Golf";
     _factory = factory;
 }
Ejemplo n.º 8
0
 public Tuareg(CarPartsFactory factory)
 {
     Name     = "Tuareg";
     _factory = factory;
 }