public static Car MakeCar(CarSophisticationLevel carSophisticationLevel)
        {
            ICarFactory carFactory = null;

            switch (carSophisticationLevel)
            {
            case CarSophisticationLevel.Popular:
                carFactory = new PopularCarFactory();
                break;

            case CarSophisticationLevel.Luxury:
                carFactory = new LuxuryCarFactory();
                break;

            default:
                return(null);
            }

            if (carFactory == null)
            {
                return(null);
            }

            return(new Car
            {
                Engine = carFactory.MakeEngine(),
                Shift = carFactory.MakeShift()
            });
        }
Beispiel #2
0
        public static ICar MakeCar(CarSophisticationLevel carSophisticationLevel)
        {
            switch (carSophisticationLevel)
            {
            case CarSophisticationLevel.Popular:
                return(new PopularCar());

            case CarSophisticationLevel.Luxury:
                return(new LuxuryCar());

            default:
                return(null);
            }
        }