コード例 #1
0
        static void Main(string[] args)
        {
            var factory = new CarFactory() as ICarFactory;
            var carList = new List <Car>
            {
                factory.GetCar(CarMaker.Bugatti),
                factory.GetCar(CarMaker.Ferrari),
                factory.GetCar(CarMaker.Honda),
                factory.GetCar(CarMaker.Toyota),
            };

            Console.WriteLine("List of cars by manufacturers:");
            foreach (var car in carList)
            {
                Console.WriteLine("{0} Car Models:", car.Maker);
                Console.WriteLine("--------------------------");
                foreach (var carModel in car.ModelList)
                {
                    Console.WriteLine(carModel);
                }

                Console.WriteLine();
            }

            Console.ReadKey();
        }
コード例 #2
0
 static void Main(string[] args)
 {
     Console.Write(CarFactory.BuildCar(CarType.luxry));
     Console.Write(CarFactory.BuildCar(CarType.Micro));
     Console.Write(CarFactory.BuildCar(CarType.mini));
     Console.ReadKey();
 }
コード例 #3
0
        static void Main(string[] args)
        {
            // I want an economical car, coloured blue...

            VehicleFactory carFactory = new CarFactory();
            IVehicle       car        = carFactory.Build(DrivingStyle.Economical,  VehicleColour.Blue);

            Console.WriteLine(car);  

            // I am a "white van man"...
            VehicleFactory vanFactory = new VanFactory();
            IVehicle       van        = vanFactory.Build(DrivingStyle.Powerful,  VehicleColour.White);

            Console.WriteLine(van);

            // USING STATIC FACTORY

            // Create a red sports car...
            IVehicle sporty = VehicleFactory.Make(Category.Car,
                                                  DrivingStyle.Powerful,
                                                  VehicleColour.Red);

            Console.WriteLine(sporty);

            Console.Read();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            CarFactory carFactory = new CarFactory();
            ICar       nano       = carFactory.GetCar("nano");
            string     carName1   = nano.GetSpecifications();

            I10Car i10      = (I10Car)carFactory.GetCar("i10");
            string carName2 = i10.GetSpecifications();

            Console.Read();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: egolab/Design-Patterns
        static void Main(string[] args)
        {
            CarFactory   carFactory   = new CarFactory();
            TrainFactory trainFactory = new TrainFactory();

            IVehicle car = carFactory.CreateVehicle();

            Console.WriteLine(car.ShowData());
            Console.WriteLine();

            IVehicle train = trainFactory.CreateVehicle();

            Console.WriteLine(train.ShowData());
        }
コード例 #6
0
        public static IVehicle Make(Category category, DrivingStyle style, VehicleColour colour)
        {
            VehicleFactory factory = null;

            if (category == Category.Car)
            {
                factory = new CarFactory();
            }
            else
            {
                factory = new VanFactory();
            }

            return(factory.Build(style, colour));
        }
コード例 #7
0
        static void Main(string[] args)
        {
            VehicleFactory carFactory = new CarFactory();
            IVehicle       car        = carFactory.Build(VehicleFactory.DrivingStyle.Economical, VehicleColour.Blue);

            Console.WriteLine(car);

            VehicleFactory vanFactory = new VanFactory();
            IVehicle       van        = vanFactory.Build(VehicleFactory.DrivingStyle.Powerful, VehicleColour.White);

            Console.WriteLine(van);

            IVehicle sporty = VehicleFactory.Make(VehicleFactory.Category.Car, VehicleFactory.DrivingStyle.Powerful, VehicleColour.Red);

            Console.WriteLine(sporty);

            Console.Read();
        }
コード例 #8
0
        public void test()
        {
            Console.Write($"choice car 1 is Benz and 2 is BMW \n");
            string     s   = Console.ReadLine();
            CarFactory cf  = null;
            Car        car = null;

            if (s == "1")
            {
                cf = new BensFactory();
            }
            else
            {
                cf = new BMWFactory();
            }
            car = cf.CreateCar();
            car.StartUp();
            car.Run();
            car.Stop();
            Console.ReadLine();
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: nbclw/23DesignPatternCode
        static void Main(string[] args)
        {
            //工厂模式
            //BaseCarFactory carFactory = new SportCarFactory();
            //BaseCar car1 = carFactory.Create();
            //car1.GetCar();

            //carFactory = new JeepCarFactory();
            //BaseCar car2 = carFactory.Create();
            //car2.GetCar();

            //简单工厂模式
            SportCar car1 = CarFactory.CreateSport();

            car1.GetCar();

            JeepCar car2 = CarFactory.CreateJeep();

            car2.GetCar();

            Console.WriteLine("-----------end-----------");
            Console.ReadKey();
        }
コード例 #10
0
        //public void BuildTestContext(AbstractCar car)
        //{
        //    //Car car = new Car();
        //    //...

        //    car.Startup();

        //    //如果要有n个car
        //    AbstractCar car1 =
        //}

        public void BuildTestContext(CarFactory carFactory)
        {
            AbstractCar c1 = carFactory.CreateCar();

            //AbstractCar c2 = carFactory.CreateCar();
        }