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); }
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(); }
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(); }
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(); } }