Пример #1
0
        public static Car ProdCar(string type)
        {
            CarFactory cf;

            switch (type)
            {
            case "Luxury":
                cf = new LuxuryCarFactory();
                break;

            case "Popular":
                cf = new PopularCarFactory();
                break;

            default:
                return(null);
            }

            Car car = new Car();

            car.Wheel = cf.InstallWheel();
            car.Sound = cf.InstallSound();

            return(car);
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Cheap Volkswagen:");
            CarFactoryBase constructor = new CheapCarFactory(new VolkswagenBuilder());
            var            car         = constructor.Construct();

            Console.WriteLine(car);

            Console.WriteLine("Luxury Volkswagen:");
            constructor = new LuxuryCarFactory(new VolkswagenBuilder());
            car         = constructor.Construct();
            Console.WriteLine(car);

            Console.WriteLine("Cheap Audi:");
            constructor = new CheapCarFactory(new AudiBuilder());
            car         = constructor.Construct();
            Console.WriteLine(car);

            Console.WriteLine("Luxury Audi:");
            constructor = new LuxuryCarFactory(new AudiBuilder());
            car         = constructor.Construct();
            Console.WriteLine(car);

            Console.ReadLine();
        }
Пример #3
0
        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()
            });
        }
Пример #4
0
        static void Main(string[] args)
        {
            //we can use buildes directly:
            //var vwBuilder = new VolkswagenBuilder();
            //vwBuilder.BuildFrame();
            //vwBuilder.BuildEngine();
            //vwBuilder.BuildWheels();

            //var car = vwBuilder.GetCar();
            //Console.WriteLine(car);

            //vwBuilder.BuildMultimedia();
            //car = vwBuilder.GetCar();
            //Console.WriteLine(car);

            Console.WriteLine("Cheap VW");
            CarFactoryBase constructor = new CheapCarFactory(new VolkswagenBuilder());
            var            car         = constructor.Construct();

            Console.WriteLine(car);

            Console.WriteLine("Luxury VW");
            constructor = new LuxuryCarFactory(new VolkswagenBuilder());
            car         = constructor.Construct();
            Console.WriteLine(car);

            Console.WriteLine("Cheap Audi");
            constructor = new CheapCarFactory(new AudiBuilder());
            car         = constructor.Construct();
            Console.WriteLine(car);

            Console.WriteLine("Luxury Audi");
            constructor = new LuxuryCarFactory(new AudiBuilder());
            car         = constructor.Construct();
            Console.WriteLine(car);

            Console.ReadLine();
        }