private static void Main() { var mallardDuck = new MallardDuck(); mallardDuck.Display(); mallardDuck.PerformQuack(); mallardDuck.Swim(); mallardDuck.PerformFly(); Console.WriteLine(); var redheadDuck = new RedheadDuck(); redheadDuck.Display(); redheadDuck.PerformQuack(); redheadDuck.Swim(); redheadDuck.PerformFly(); Console.WriteLine(); var rubberDuck = new RubberDuck(); rubberDuck.Display(); rubberDuck.PerformQuack(); rubberDuck.Swim(); rubberDuck.PerformFly(); Console.WriteLine(); var decoyDuck = new DecoyDuck(); decoyDuck.Display(); decoyDuck.Swim(); Console.WriteLine(); Console.Write("Press Enter to exit ..."); Console.ReadLine(); }
static void Main(string[] args) { IFlyBehaviour flyNoWay = new FlyNoWay(); IFlyBehaviour flyWithWings = new FlyWithWings(); Duck mallardDuck = new MallardDuck(); mallardDuck.SetFlyBehaviour(flyWithWings); Duck redheadDuck = new RedheadDuck(); redheadDuck.SetFlyBehaviour(flyWithWings); Duck rubberDuck = new RubberDuck(); rubberDuck.SetFlyBehaviour(flyNoWay); Duck decoyDuck = new DecoyDuck(); decoyDuck.SetFlyBehaviour(flyNoWay); List <Duck> listDucks = new List <Duck> { mallardDuck, redheadDuck, rubberDuck, decoyDuck }; foreach (var duck in listDucks) { duck.Fly(); } }
static void Main(string[] args) { // Pato Bravo MallardDuck md = new MallardDuck(); md.Display(); md.Swim(); md.Fly(); md.Quack(); System.Console.WriteLine("\n"); // Pato Cabeça-vermelha RedHeadDuck rhd = new RedHeadDuck(); rhd.Display(); rhd.Swim(); rhd.Fly(); rhd.Quack(); System.Console.WriteLine("\n"); // Pato de Borracha RubberDuck rd = new RubberDuck(); rhd.Display(); rhd.Swim(); rd.Quack(); // Chia invés de grasnar System.Console.WriteLine("\n"); // Pato de Madeira DecoyDuck dd = new DecoyDuck(); dd.Display(); dd.Swim(); System.Console.WriteLine("\n"); System.Console.ReadKey(); }
public static void Main(string[] args) { //A DEPENDENCY INJECTOR OR FACTORY SHOULD REPLACE ALL THIS DECLARATIONS IFlyBehavior canFly = new FlyWithWings(); IFlyBehavior cantFly = new FlyNoWay(); IQuackBehavior quack = new Quack(); IQuackBehavior squeack = new Squeack(); IQuackBehavior mute = new MuteQuack(); List <Duck> ducks = new List <Duck>(); Duck mallardDuck = new MallardDuck(canFly, quack); Duck redHeadDuck = new RedHeadDuck(canFly, quack); Duck decoyDuck = new DecoyDuck(cantFly, mute); Duck rubberDuck = new RubberDuck(cantFly, squeack); ducks.Add(mallardDuck); ducks.Add(redHeadDuck); ducks.Add(decoyDuck); ducks.Add(rubberDuck); //NOW WE WILL MAKE OUR DUCKS DISPLAY FLY AND QUACK foreach (Duck duck in ducks) { duck.Display(); duck.PerformFly(); duck.PerformQuack(); Console.WriteLine("---------------"); } Console.ReadLine(); }
public void FakeDucksCantLand() { RubberDuck rd = new RubberDuck(); DecoyDuck dd = new DecoyDuck(); rd.PerformLand(); dd.PerformLand(); }
public void Test1() { MallardDuck mallard = new MallardDuck(); RubberDuck rubber = new RubberDuck(); DecoyDuck decoy = new DecoyDuck(); Duck model = new ModelDuck(); mallard.PerformQuack(); rubber.PerformQuack(); decoy.PerformQuack(); model.PerformFly(); model.FlyBehavior = new FlyRocketPowered(); model.PerformFly(); }
static void Main(string[] args) { var ducks = new List <Duck>() { new Mallard(new FlyWithWingsBehavior(), new QuackBehavior()), new WoodDuck(new FlyWithWingsBehavior(), new QuackBehavior()), // Making changes in the same spot as another user, and I haven't pulled their changes. new WoodDuck(new FlyWithWingsBehavior(), new NoSoundBehavior()), new WoodDuck(new NoFlyBehavior(), new QuackBehavior()), new RubberDuck(new NoFlyBehavior(), new QuackBehavior()), // end of changes. // This will simulate changes made by another user. new Mallard(new NoFlyBehavior(), new NoSoundBehavior()), new RubberDuck(new FlyWithWingsBehavior(), new QuackBehavior()), //yes, a quacking, flying rubber duck new DecoyDuck(new NoFlyBehavior(), new QuackBehavior()), // End of new ducks new RubberDuck(new NoFlyBehavior(), new NoSoundBehavior()), new DecoyDuck(new NoFlyBehavior(), new NoSoundBehavior()) }; foreach (var duck in ducks) { Console.WriteLine(duck.ToString()); duck.Display(); duck.MakeSound(); duck.PerformFly(); if (duck is ICanSwim swimmingDuck) { swimmingDuck.Swim(); } Console.WriteLine(); } Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Decoy Duck sample"); var decoyDuck = new DecoyDuck(new NoFlyBehavior(), new NoSoundBehavior()); decoyDuck.Swim(); decoyDuck.SetSwimBehavior(new SubmarineSwimBehavior()); decoyDuck.Swim(); ShowFlyableThings(); Console.ReadKey(); }
static void Main(string[] args) { Duck duck = new MallardDuck(); duck.Display(); duck.PerformFly(); duck.PerformQuack(); Duck model = new DecoyDuck(); model.Display(); model.PerformFly(); model.SetFlyBehavior(new FlyWithWings()); model.PerformFly(); Console.ReadLine(); }
private static void StrategyPatternRun() { Console.WriteLine(); MallardDuck mallard = new MallardDuck(); RubberDuck rubberDuckie = new RubberDuck(); DecoyDuck decoy = new DecoyDuck(); ModelDuck model = new ModelDuck(); mallard.PerformQuack(); rubberDuckie.PerformQuack(); decoy.PerformQuack(); model.PerformFly(); model.FlyBehavior = new FlyRocketPowered(); model.PerformFly(); }
static void Main(string[] args) { MallardDuck mallard = new MallardDuck(); RedHeadDuck redHead = new RedHeadDuck(); RubberDuck rubber = new RubberDuck(); DecoyDuck decoy = new DecoyDuck(); RobotDuck robot = new RobotDuck(); ModelDuck model = new ModelDuck(); PerformDuckFunctions(mallard); PerformDuckFunctions(redHead); PerformDuckFunctions(rubber); PerformDuckFunctions(decoy); PerformDuckFunctions(robot); PerformDuckFunctions(model); model.SetFlyBehaviour(new FlyRocketPowered()); PerformDuckFunctions(model); Console.ReadKey(); }
static void Main(string[] args) { FlyNoWay flyNoWayBehavior = new FlyNoWay(); Squeck squeck = new Squeck(); DecoyDuck decoyDuck = new DecoyDuck(flyNoWayBehavior, squeck); decoyDuck.Fly(); FlyWithWings flyWithWings = new FlyWithWings(); QuackBehavior quackBehavior = new MuteDuck(); Duck duckMallard = new MallardDuck(flyWithWings, quackBehavior); List <Duck> listDuck = new List <Duck>(); listDuck.Add(decoyDuck); listDuck.Add(duckMallard); Console.ReadKey(); }
static void Main(string[] args) { Model.Duck duck = new DecoyDuck(); //pato de decoração Console.WriteLine("Comportamentos de um pato de decoração"); Console.WriteLine("Vôo: {0}", duck.perfomFly()); Console.WriteLine("Grasnar: {0}", duck.performQuack()); Console.WriteLine(); //pato Mallard duck = new MallardDuck(); Console.WriteLine("Comportamentos de um pato Mallard"); Console.WriteLine("Vôo: {0}", duck.perfomFly()); Console.WriteLine("Grasnar: {0}", duck.performQuack()); Console.WriteLine(); //pato modelo duck = new ModelDuck(); Console.WriteLine("Comportamentos de um pato modelo"); Console.WriteLine("Vôo: {0}", duck.perfomFly()); Console.WriteLine("Grasnar: {0}", duck.performQuack()); Console.WriteLine(); Console.WriteLine("Mudando o comportamento do pato modelo em tempo de execução"); Console.WriteLine(); duck.alterarQuackBehavior(new Squeak()); duck.alterarFlyBehavior(new FlyRocketPowered()); Console.WriteLine("Comportamentos de um pato modelo alterado"); Console.WriteLine("Vôo: {0}", duck.perfomFly()); Console.WriteLine("Grasnar: {0}", duck.performQuack()); Console.WriteLine(); Console.ReadKey(); }
private static void RunDucks() { Duck duck = null; bool exitApplication = false; do { Console.WriteLine("What do you want to see?\n1)DecoyDuck\n2)MallardDuck\n3)RubberDuck\nanykey to exit"); Console.WriteLine(string.Empty); var response = Console.ReadLine(); switch (response) { case "1": duck = new DecoyDuck(); break; case "2": duck = new MallardDuck(); break; case "3": duck = new RubberDuck(); break; default: exitApplication = true; break; } if (!exitApplication) { duck.Display(); duck.PerformFly(); duck.PerformQuack(); } Console.WriteLine(string.Empty); }while(!exitApplication); }
static void Main(string[] args) { var mallardDuck = new MallardDuck(); mallardDuck.QuackBehavior = new QuackAsNormal(); mallardDuck.FlyBehavior = new FlyWithWings(); Console.WriteLine($"Mallard duck {new string('-', 50)}"); mallardDuck.Swim(); mallardDuck.PerformQuack(); mallardDuck.PerformFly(); var redheadDuck = new RedheadDuck(); redheadDuck.QuackBehavior = new QuackAsNormal(); redheadDuck.FlyBehavior = new FlyWithWings(); Console.WriteLine($"Redhead duck {new string('-', 50)}"); redheadDuck.Swim(); redheadDuck.PerformQuack(); redheadDuck.PerformFly(); var rubberDuck = new RubberDuck(); rubberDuck.QuackBehavior = new Sqeak(); rubberDuck.FlyBehavior = new FlyNoWay(); Console.WriteLine($"Rubber duck {new string('-', 50)}"); rubberDuck.Swim(); rubberDuck.PerformQuack(); rubberDuck.PerformFly(); var decoyDuck = new DecoyDuck(); decoyDuck.QuackBehavior = new Mute(); decoyDuck.FlyBehavior = new FlyNoWay(); Console.WriteLine($"Decoy duck {new string('-', 50)}"); decoyDuck.Swim(); decoyDuck.PerformQuack(); decoyDuck.PerformFly(); }
static void Main(string[] args) { MallardDuck mallardDuck = new MallardDuck(); PlayWithDuck(mallardDuck); RedheadDuck redheadDuck = new RedheadDuck(); PlayWithDuck(redheadDuck); RubberDuck rubberDuck = new RubberDuck(); PlayWithDuck(rubberDuck); DecoyDuck decoyDuck = new DecoyDuck(); PlayWithDuck(decoyDuck); ModelDuck modelDuck = new ModelDuck(); PlayWithDuck(modelDuck); modelDuck.SetFly(FlyBehavior.FlyWithWings()); PlayWithDuck(modelDuck); }
static void Main(string[] args) { TestVirtual testVirtual = new TestVirtual(); Console.WriteLine(testVirtual.resultA); //using method from overrride Console.WriteLine(testVirtual.resultB); //using method from base class Console.WriteLine(testVirtual.add(1, 2)); //using method from overrride Console.WriteLine(testVirtual.substract(9, 1)); //using method from base class Console.WriteLine(); //====================================================================================== SealMethod sealMethod = new SealMethod(); Console.WriteLine(sealMethod.add(1, 1)); Console.WriteLine(sealMethod.substract(2, 2)); Console.WriteLine(sealMethod.multipy(2, 2)); Console.WriteLine(); //====================================================================================== ProtectBase protectBase = new ProtectBase(); TestProtected testProtected = new TestProtected(); // below will have complier error as "add" method can only be used inside TestProtected //Console.WriteLine(TestProtected.add(4, 5)); Console.WriteLine(); //====================================================================================== // below will have compier error - abstract can't be instantiate //AbstractBase ab = new AbstractBase(); TestAbstract testAb = new TestAbstract(); Console.WriteLine(testAb.add(3, 8)); Console.WriteLine(); //====================================================================================== Console.WriteLine("---- test order system ----"); Order order = new Order { Id = 1, FirstName = "Tan", Email = "*****@*****.**", Price = 10.50M }; OrderingFactory factory = new OrderingFactory(); IOrderProcess orderA = factory.GetOrderSupplier("A"); orderA.MakeOrder(order); Console.WriteLine(""); IOrderProcess orderB = factory.GetOrderSupplier("B"); orderB.MakeOrder(order); Console.WriteLine(""); Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++++++"); Console.WriteLine(""); Console.WriteLine(Multi10000(1, 1)); Console.WriteLine(); //====================================================================================== IStore store = new Document(); ICompress compress = new Document(); store.Read(); store.Write(); compress.Compress(); compress.Decompress(); using (SimpleClass simple = new SimpleClass()) { Console.WriteLine(simple.returnA()); } Console.WriteLine(); //====================================================================================== Duck d1 = new DecoyDuck(); d1.Display(); d1.PerformFly(); d1.PerformQuack(); Duck d2 = new RubberDuck(); d2.Display(); d2.PerformFly(); d2.PerformQuack(); Console.WriteLine(); //====================================================================================== /* * WeatherData weatherData = new WeatherData(); * * CurrentConditionsDisplay currDisplay = new CurrentConditionsDisplay(weatherData); * ForecastDisplay foreDisplay = new ForecastDisplay(weatherData); * * weatherData.setMeasurements(80, 65, 30.4f); */ Console.WriteLine(); //====================================================================================== WeatherTracker provider = new WeatherTracker(); CurrentConditionsDisplay currDisplay = new CurrentConditionsDisplay(provider); ForecastDisplay foreDisplay = new ForecastDisplay(provider); provider.UpdateWeather(new WeatherData(80, 65, 30.4f)); Console.WriteLine(); //====================================================================================== BeverageBase beverage = new Decaf(); Console.WriteLine(beverage.Description + " $" + beverage.cost()); BeverageBase beverage2 = new DarkRoast(); beverage2 = new Milk(beverage2); beverage2 = new Mocha(beverage2); Console.WriteLine(beverage2.Description + " $" + beverage2.cost()); Console.WriteLine(); //====================================================================================== Console.WriteLine(Singleton.Instant.getTest()); Console.WriteLine(Singleton.Instant.getTest()); Console.WriteLine(Singleton.Instant.getTest()); Console.WriteLine(); //====================================================================================== Booking booking = new Booking { BookingId = 1, SupplierCode = "GTA", FirstName = "Tan", LastName = "Tang", TotalAmount = (decimal)299.99 }; ProcessBooking bookingProcess = new ProcessBooking(booking); bookingProcess.Initial(); Console.WriteLine(" Booking State = {0}, Status = {1}", booking.State.ToString(), booking.Status); bookingProcess.PreAuthorisation(); Console.WriteLine(" Booking State = {0}, Status = {1}", booking.State.ToString(), booking.Status); bookingProcess.MakeBooking(); Console.WriteLine(" Booking State = {0}, Status = {1}", booking.State.ToString(), booking.Status); bookingProcess.MakePayment(); Console.WriteLine(" Booking State = {0}, Status = {1}", booking.State.ToString(), booking.Status); bookingProcess.FinaliseBooking(); Console.WriteLine(" Booking State = {0}, Status = {1}", booking.State.ToString(), booking.Status); Console.Read(); }
public DecoyDuckTest() { dd = new DecoyDuck(); }