Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Factory carFactory   = new CarFactory();
            Factory planeFactory = new PlaneFactory();

            Vehicles car   = carFactory.CreateVehicles();
            Vehicles plane = planeFactory.CreateVehicles();

            car.Use();
            plane.Use();

            PhoneFactory chinaFactory   = new ChinaPhoneFactory();
            PhoneFactory americaFactory = new AmericaPhoneFactory();

            AndroidPhone chinaAndroidPhone = chinaFactory.CreateAndroidPhone();

            chinaAndroidPhone.PrintOrigin();

            americaFactory.CreateIOSPhone().PrintOrigin();

            Builder  highBuilder = new HighConfigComputerBuilder();
            Builder  lowBuilder  = new LowConfigComputerBuilder();
            Director director    = new Director();

            director.Construct(highBuilder);
            highBuilder.GetComputer().Show();

            director.Construct(lowBuilder);
            lowBuilder.GetComputer().Show();

            TestData02 t2 = new TestData02();

            t2.ID   = 2;
            t2.Data = new System.Collections.Generic.List <int>();
            t2.Data.Add(1);
            t2.Data.Add(2);

            TestData02 t2copy = (TestData02)t2.Copy();

            t2copy.ID = 3;
            t2copy.Data.Clear();

            Console.WriteLine($"{t2.ID}/{t2.Data.Count}");
            Console.WriteLine($"{t2copy.ID}/{t2copy.Data.Count}");

            Console.WriteLine("done.");
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            Console.WriteLine("简单工厂(Simple Factory)模式");
            Console.WriteLine("----------------------------------");

            CarFactory carFactory = new CarFactory();

            Car car = carFactory.CreateCar("119");

            car.SetOut();

            car = carFactory.CreateCar("110");
            car.SetOut();

            car.GoBack();


            CarNew.CreateCar("120").SetOut();
            CarNew.CreateCar("120").GoBack();

            Console.ReadKey();
        }
Ejemplo n.º 3
0
 public void BuildTestContext(CarFactory cf)
 {
     c1 = cf.CreateCar();
     c2 = cf.CreateCar();
     c3 = cf.CreateCar();
 }