Beispiel #1
0
        // abstractFactory para prototype
        static void CreateCarAndPlane()
        {
            IVehicleAbstractFactory vehicleAbstractFactory = new VehicleAbstractFactory();
            var Car = vehicleAbstractFactory
                      .CarFactory(TypeCar.latino)
                      .SetControl()
                      .SetMark("BMW")
                      .SetName("M4")
                      .Create();
            var prototypeColor = new PrototypeColor();

            Car.Color = prototypeColor.SetColor("Blue");
            var colornewCar = prototypeColor.from(Car.Color).SetColor("Red");
            var Car2        = vehicleAbstractFactory
                              .CarFactory(TypeCar.latino)
                              .SetControl()
                              .SetMark("Ford")
                              .SetName("Fiesta")
                              .Create();
            var Car3 = vehicleAbstractFactory
                       .CarFactory(TypeCar.latino)
                       .SetControl()
                       .SetMark("chevrolet")
                       .SetName("silverado")
                       .Create();

            Car3.Color = prototypeColor.from(Car.Color).Copy();
            Car2.Color = colornewCar;
            System.Console.WriteLine($"el color del coche 1 {Car.Name} es {Car.Color.Color}");
            System.Console.WriteLine($"el color del coche 2 {Car2.Name} es {Car2.Color.Color}");
            System.Console.WriteLine($"el color del coche 3 {Car3.Name} es {Car3.Color.Color} copiado de protoripo del coche 1");
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var factory = new VehicleAbstractFactory();

            var toyotaYaris = (Car)factory.GetVehicle(VehicleType.Car);

            toyotaYaris.Name     = "Toyota Yaris";
            toyotaYaris.MaxSpeed = 150;
            Console.WriteLine($"{toyotaYaris.Name} is {toyotaYaris.Start()}");
            Console.WriteLine($"{toyotaYaris.Name} is {toyotaYaris.ShiftUp()}");
            Console.WriteLine($"{toyotaYaris.Name} is {toyotaYaris.Move()}");
            Console.WriteLine($"{toyotaYaris.Name} is {toyotaYaris.Turn()}");
            Console.WriteLine($"{toyotaYaris.Name} is {toyotaYaris.ShiftDown()}");
            Console.WriteLine($"{toyotaYaris.Name} is {toyotaYaris.Stop()}");
            Console.WriteLine();

            var yamahaYzfR1 = (Motorcycle)factory.GetVehicle(VehicleType.Motorcycle);

            yamahaYzfR1.Name     = "Yamaha YZF R1";
            yamahaYzfR1.MaxSpeed = 300;
            Console.WriteLine($"{yamahaYzfR1.Name} is {yamahaYzfR1.Start()}");
            Console.WriteLine($"{yamahaYzfR1.Name} is {yamahaYzfR1.ShiftUp()}");
            Console.WriteLine($"{yamahaYzfR1.Name} is {yamahaYzfR1.Move()}");
            Console.WriteLine($"{yamahaYzfR1.Name} is {yamahaYzfR1.Turn()}");
            Console.WriteLine($"{yamahaYzfR1.Name} is {yamahaYzfR1.ShiftDown()}");
            Console.WriteLine($"{yamahaYzfR1.Name} is {yamahaYzfR1.Stop()}");
            Console.WriteLine();

            var fordF150 = (Truck)factory.GetVehicle(VehicleType.Truck);

            fordF150.Name     = "Ford F150";
            fordF150.MaxSpeed = 180;
            Console.WriteLine($"{fordF150.Name} is {fordF150.Start()}");
            Console.WriteLine($"{fordF150.Name} is {fordF150.ShiftUp()}");
            Console.WriteLine($"{fordF150.Name} is {fordF150.Move()}");
            Console.WriteLine($"{fordF150.Name} is {fordF150.Turn()}");
            Console.WriteLine($"{fordF150.Name} is {fordF150.ShiftDown()}");
            Console.WriteLine($"{fordF150.Name} is {fordF150.Stop()}");
            Console.WriteLine();

            var fordMustang = (Car)factory.GetVehicle(VehicleType.Car);

            fordMustang.SetTransmission(new ManualTransmission());
            fordMustang.Name     = "Ford Mustang";
            fordMustang.MaxSpeed = 250;
            Console.WriteLine($"{fordMustang.Name} is {fordMustang.Start()}");
            Console.WriteLine($"{fordMustang.Name} is {fordMustang.ShiftUp()}");
            Console.WriteLine($"{fordMustang.Name} is {fordMustang.Move()}");
            Console.WriteLine($"{fordMustang.Name} is {fordMustang.Turn()}");
            Console.WriteLine($"{fordMustang.Name} is {fordMustang.ShiftDown()}");
            Console.WriteLine($"{fordMustang.Name} is {fordMustang.Stop()}");
            Console.WriteLine();

            Console.ReadKey();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            var carFactory        = VehicleAbstractFactory.CreateFactory(VehiclesTypes.Car);
            var motorcycleFactory = VehicleAbstractFactory.CreateFactory(VehiclesTypes.Motorcycle);

            var carOne        = carFactory.CreateVehicle("Uno", 5);
            var motorcycleOne = motorcycleFactory.CreateVehicle("Harley", 2);

            Print(carOne);
            Print(motorcycleOne);
        }