Exemple #1
0
	static int Main ()
	{
		B b = new B ();
#if ONLY_1_1 && !MONO
		if (b.ToString () != "B:Av2") {
#else
		if (b.ToString () != "B:B") {
#endif
			Console.WriteLine (b.ToString ());
			return 1;
		}

		Mercedes m = new Mercedes ();
#if ONLY_1_1 && !MONO
		try {
			m.Run ();
			return 2;
		} catch (MethodAccessException) {
		}
#else
		if (m.Run () != "Mercedes:Vehicle") {
			Console.WriteLine (m.Run ());
			return 2;
		}
#endif
		return 0;
	}
}
 public void StartMercedes()
 {
     Vehicle v = new Mercedes() { Name = "Benz - Mercedes", DriverName = "E", Fuel = FuelType.Petrol, Model = "E220" };
     raceService.Start(v);
     //executing in thread
     Thread.Sleep(2000);
     raceService.GetAverageSpeed(v, 51, "00:11:04.05");
 }
        public void CreateFactory(Constants.CarEnum carName)
        {
            ICar car;

            if (carName.Equals(Constants.CarEnum.Hyundai))
            {
                car = new Hyundai();
                car.ShowDetail();
            }
            else if (carName.Equals(Constants.CarEnum.Lamborghini))
            {
                car = new Lamborghini();
                car.ShowDetail();
            }
            else if (carName.Equals(Constants.CarEnum.Mercedes))
            {
                car = new Mercedes();
                car.ShowDetail();
            }
            else
            {
                Console.WriteLine("This type of car is not exist");
            }
        }
        public List <Car> ReadCars()
        {
            Cars = new List <Car>();
            if (!File.Exists(pathCars))
            {
                return(null);
            }
            else
            {
                using (StreamReader streamReader = File.OpenText(pathCars))
                {
                    String line = "";
                    line = streamReader.ReadLine();
                    while ((line = streamReader.ReadLine()) != null)
                    {
                        String[] carProperties = line.Split('\t');
                        if (carProperties[1] == "Audi")
                        {
                            Audi audi = new Audi();
                            audi.ID                = Convert.ToInt32(carProperties[0]);
                            audi.Model             = carProperties[1];
                            audi.RegistrationPlate = carProperties[2];
                            audi.Seats             = Convert.ToInt32(carProperties[3]);
                            audi.Color             = (Color)Enum.Parse(typeof(Color), carProperties[4], true);
                            Point      a          = new Point(Convert.ToDouble(carProperties[5]), Convert.ToDouble(carProperties[6]));
                            Point      b          = new Point(Convert.ToDouble(carProperties[7]), Convert.ToDouble(carProperties[8]));
                            Dimensions dimensions = new Dimensions(a, b);
                            audi.Dimensions = dimensions;
                            audi.ParkedOn   = carProperties[9];
                            audi.Hybrid     = Convert.ToBoolean(carProperties[15]);

                            Cars.Add(audi);
                        }
                        else if (carProperties[1] == "BMW")
                        {
                            BMW bmw = new BMW();
                            bmw.ID                = Convert.ToInt32(carProperties[0]);
                            bmw.Model             = carProperties[1];
                            bmw.RegistrationPlate = carProperties[2];
                            bmw.Seats             = Convert.ToInt32(carProperties[3]);
                            bmw.Color             = (Color)Enum.Parse(typeof(Color), carProperties[4], true);
                            Point      a          = new Point(Convert.ToDouble(carProperties[5]), Convert.ToDouble(carProperties[6]));
                            Point      b          = new Point(Convert.ToDouble(carProperties[7]), Convert.ToDouble(carProperties[8]));
                            Dimensions dimensions = new Dimensions(a, b);
                            bmw.Dimensions = dimensions;
                            bmw.ParkedOn   = carProperties[9];
                            bmw.HighDomainAirConditioner = Convert.ToBoolean(carProperties[10]);
                            bmw.DoubleBass = Convert.ToBoolean(carProperties[11]);
                            bmw.Speakers   = Convert.ToInt32(carProperties[12]);

                            Cars.Add(bmw);
                        }
                        else
                        {
                            Mercedes mercedes = new Mercedes();
                            mercedes.ID                = Convert.ToInt32(carProperties[0]);
                            mercedes.Model             = carProperties[1];
                            mercedes.RegistrationPlate = carProperties[2];
                            mercedes.Seats             = Convert.ToInt32(carProperties[3]);
                            mercedes.Color             = (Color)Enum.Parse(typeof(Color), carProperties[4], true);
                            Point      a          = new Point(Convert.ToDouble(carProperties[5]), Convert.ToDouble(carProperties[6]));
                            Point      b          = new Point(Convert.ToDouble(carProperties[7]), Convert.ToDouble(carProperties[8]));
                            Dimensions dimensions = new Dimensions(a, b);
                            mercedes.Dimensions       = dimensions;
                            mercedes.ParkedOn         = carProperties[9];
                            mercedes.OxygenSystem     = Convert.ToBoolean(carProperties[13]);
                            mercedes.BulletProofGlass = Convert.ToBoolean(carProperties[14]);

                            Cars.Add(mercedes);
                        }
                    }
                }
            }
            return(Cars);
        }
Exemple #5
0
        static void Main(string[] args)
        {
            // // Example exercise 1
            GameContext g = new GameContext(new DuringGame());

            g.SpaceshipHit(20);
            g.SpaceshipHit(20);
            g.SpaceshipHit(2);
            g.SpaceshipHit(15);
            g.SpaceshipHit(5);

            // Example exercise 2
            Composite root  = new Composite(2);
            Composite child = new Composite(2);

            child.addChild(new Leaf(2));
            root.addChild(child);
            root.addChild(new Leaf(2));
            root.addChild(new Leaf(8));
            Console.WriteLine(root.Sum());
            Console.WriteLine(isEvenRecursionExercise2(root));

            // // Example exercise 3
            Mercedes      c1 = new Mercedes();
            BMW           c2 = new BMW();
            CarController cc = new CarController(c1);

            c1.StartDriving();
            c1.TurnLeft();
            cc.car = c2;
            cc.TurnRight();
            cc.DisplayLocation();
            ProxyCarController pcc = new ProxyCarController(cc);

            pcc.DisplayLocation();

            // // Example exercise 5
            LogFactory.GetLogWritter(LogEnum.Info).WriteLog();
            LogFactory.GetLogWritter(LogEnum.Error).WriteLog();
            LogFactory.GetLogWritter(LogEnum.Fatal).WriteLog();

            // // Example exercise 6
            FlyWeightPower fwp = new FlyWeightPower();

            fwp.addPowerNumber(2, 3);
            fwp.addPowerNumber(3, 2);
            fwp.addPowerNumber(3, 3);
            fwp.addPowerNumber(11, 2);
            PowerNumberCalculator calc         = new PowerNumberCalculator();
            List <PowerNumber>    powerNumbers = calc.calculatePowerNumbers(fwp);

            powerNumbers.ForEach(x => Console.WriteLine(x.calculation));

            // Example exercise 7
            Chatroom    chat = new Chatroom();
            Participant p1   = new Participant(1);
            Participant p2   = new Participant(2);
            Participant p3   = new Participant(3);

            chat.addParticipant(p1);
            chat.addParticipant(p2);
            p1.SendAll("hello!");
            p1.SendToUser(2, "Wanna netflix and chill?");
            p2.SendAll("Lets all netflix and chill!");

            // Example exercise 8
            DeadLiftWorkoutBuilder deadliftBuilder = new DeadLiftWorkoutBuilder();

            deadliftBuilder.buildWorkout();
            SquatWorkoutBuilder sb = new SquatWorkoutBuilder();

            sb.buildWorkout();

            // // Example exercise 9
            CarMakerFactoryBase normal = new NormalCarFactory();

            normal.createAC();
            normal.createBatery();
            normal.createEngine();
            normal.createLightSystem();
            normal.createSeats();
            normal.createTin();
            normal.createWheels();

            CarMakerFactoryBase hybrid = new HybridCarFactory();

            hybrid.createAC();
            hybrid.createBatery();
            hybrid.createEngine();
            hybrid.createLightSystem();
            hybrid.createSeats();
            hybrid.createTin();
            hybrid.createWheels();

            // // Example exercise 10
            WindowHandler h1 = new WindowHandler();
            WindowHandler h2 = new Shadow();
            WindowHandler h3 = new TickingBackground();
            WindowHandler h4 = new D3Light();
            WindowHandler h5 = new ColorfulBorder();

            h1.setNext(h2);
            h2.setNext(h3);
            h3.setNext(h4);
            h4.setNext(h5);
            h1.handle();

            // // Example exercise 12
            OfficeComputerPackBuilder b1 = new OfficeComputerPackBuilder();

            b1.buildComputerPack();
            SalonComputerPackBulider b2 = new SalonComputerPackBulider();

            b2.buildComputerPack();
            GamingComputerPackBulider b3 = new GamingComputerPackBulider();

            b3.buildComputerPack();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Regular Visitor pattern");
            VisitorDomain.IFruitVisitor visitor = new VisitorDomain.FruitVisitor();
            VisitorDomain.Fruit         apple   = new VisitorDomain.Apple("Golden delicious");
            VisitorDomain.Fruit         grape   = new VisitorDomain.Grape("Merlot");

            apple.Accept(visitor);
            grape.Accept(visitor);

            Console.WriteLine("=======================");
            Console.WriteLine("Acyclic Visitor pattern");
            DegenerateVegetableVisitor acyclicVisitor = new CarretVisitor();
            Vegetable carret = new Carret("Red");

            carret.Accept(acyclicVisitor);

            acyclicVisitor = new CucumberVisitor();
            Vegetable cucumber = new Cucumber("Green");

            cucumber.Accept(acyclicVisitor);

            Console.WriteLine("=======================");
            Console.WriteLine("Generic Acyclic Visitor pattern");
            CarVisitor carVisitor = new CarVisitor <Toyota>();
            Toyota     toyota     = new Toyota("Corrolla");

            toyota.Accept(carVisitor);

            carVisitor = new CarVisitor <Bmw>() as CarVisitor;
            Bmw bmw = new Bmw("4");

            bmw.Accept(carVisitor);

            carVisitor = new CarVisitor <Mercedes>() as CarVisitor;
            Mercedes mercedes = new Mercedes("default");

            mercedes.Accept(carVisitor);

            Console.WriteLine("=======================");
            Console.WriteLine("Full Visitor pattern");
            List <FullDomain.Fruit> fruits = new List <FullDomain.Fruit>()
            {
                new FullDomain.Grape()
                {
                    NumberOfGrapes = 3
                },
                new FullDomain.Banana()
                {
                    NumberOfFingers = 4
                },
                new FullDomain.Apple(),
                new FullDomain.Grape()
                {
                    NumberOfGrapes = 6
                },
                new FullDomain.Banana()
                {
                    NumberOfFingers = 3
                },
                new FullDomain.Apple(),
                new FullDomain.Apple(),
                new FullDomain.Grape()
                {
                    NumberOfGrapes = 7
                },
                new FullDomain.Grape()
                {
                    NumberOfGrapes = 4
                },
                new FullDomain.Banana()
                {
                    NumberOfFingers = 3
                }
            };

            List <FullDomain.Apple> allApples = FullDomain.FruitExtensions.Pick <FullDomain.Apple>(fruits).ToList(); // Because of namespace clashes I call extension method like this

            Console.WriteLine($"Number of apples visited {allApples.Count}");

            List <FullDomain.Grape> allGrapes = FullDomain.FruitExtensions.Pick <FullDomain.Grape>(fruits).ToList(); // Because of namespace clashes I call extension method like this

            Console.WriteLine($"Number of grape objects visited {allGrapes.Count}, number of grapes {allGrapes.Sum(s => s.NumberOfGrapes)}");

            List <FullDomain.Banana> allBananas = FullDomain.FruitExtensions.Pick <FullDomain.Banana>(fruits).ToList(); // Because of namespace clashes I call extension method like this

            Console.WriteLine($"Number of bananas visited {allBananas.Count}, number of fingers {allBananas.Sum(s => s.NumberOfFingers)}");

            FullDomain.FruitWeightCalculatorVisitor weightCalculator = new FullDomain.FruitWeightCalculatorVisitor();
            fruits.ForEach(fruit => fruit.Accept(weightCalculator));
            Console.WriteLine($"Weight of fruits {weightCalculator.WeightInGrams}");

            Console.Write("Press any key to continue. . .");
            Console.ReadKey();
        }
Exemple #7
0
        static void Main(string[] args)
        {
            var littleLady = new Yacht("Little Lady")
            {
                FuelCapacity       = "5,000 liters",
                Color              = Color.pink,
                PassengerOccupancy = 10,
            };
            var sillySally = new Yacht("Silly Sally")
            {
                FuelCapacity       = "40,000 liters",
                Color              = Color.orange,
                PassengerOccupancy = 30,
            };
            var goneAway = new Yacht("Gone Away")
            {
                FuelCapacity       = "20,000 liters",
                Color              = Color.silver,
                PassengerOccupancy = 20,
            };

            var watercraft = new List <WaterCraft>();

            watercraft.Add(littleLady);
            watercraft.Add(sillySally);
            watercraft.Add(goneAway);

            foreach (var item in watercraft)
            {
                item.Drive();
            }


            var mercedes1 = new Mercedes()
            {
                Color              = Color.black,
                FuelCapacity       = "14 gallons",
                PassengerOccupancy = 5,
                _HasCarPlay        = false,
            };
            var mercedes2 = new Mercedes()
            {
                Color              = Color.grey,
                FuelCapacity       = "20 gallons",
                PassengerOccupancy = 7,
                _HasCarPlay        = true,
            };

            var car = new List <Car>();

            car.Add(mercedes1);
            car.Add(mercedes2);

            foreach (var item in car)
            {
                item.Drive();
            }

            var plane1 = new Boeing737MAX()
            {
                Color              = Color.red,
                FuelCapacity       = "25,817 liters",
                PassengerOccupancy = 172,
                _isSafe            = false,
            };
            var plane2 = new Boeing737MAX()
            {
                Color              = Color.green,
                FuelCapacity       = "25,817 liters",
                PassengerOccupancy = 210,
                _isSafe            = false,
            };

            var plane = new List <AirCraft>();

            plane.Add(plane1);
            plane.Add(plane2);

            foreach (var item in plane)
            {
                item.Fly();
            }
        }