static void Main(string[] args) { Console.WriteLine("Strategy Pattern"); var rubberDuck = new Duck(new CannotFly(), new CannotQuack(), new CannotSwim()); var muteDuck = new Duck(new CanFly(), new CannotQuack(), new CanSwim()); var disabledDuck = new Duck(new CannotFly(), new CanQuack(), new CannotSwim()); System.Console.WriteLine("Rubber duck behaviour."); rubberDuck.Fly(); rubberDuck.Swim(); rubberDuck.Quack(); System.Console.WriteLine("Mute duck behaviour."); muteDuck.Fly(); muteDuck.Swim(); muteDuck.Quack(); System.Console.WriteLine("Disabled duck behaviour."); disabledDuck.Fly(); disabledDuck.Swim(); disabledDuck.Quack(); Console.ReadLine(); }
static void Main(string[] args) { Duck cityDuck = new Duck(null, new SwimUnderWater(), new FlyVeryHigh()); cityDuck.Fly(); cityDuck.Swim(); Console.ReadLine(); }
private static void DisplayProperties(Duck duck) { Console.WriteLine(duck); duck.Swim(); duck.TryToFly(); duck.MakeSound(); Console.WriteLine(); }
static void Main(string[] args) { Duck cityDuck = new Duck(new NoFlying(), new ShortSwiming(), new ShortWalking()); Duck countryDuck = new Duck(new HighFlying(), new NoSwiming(), new RunWalking()); Duck rubberDuck = new Duck(new NoFlying(), new PhelpsSwiming(), new NoWalking()); Console.WriteLine("City Duck say something!"); cityDuck.Fly(); cityDuck.Walk(); cityDuck.Swim(); Console.WriteLine("Country Duck SPEAK!"); countryDuck.Fly(); countryDuck.Walk(); countryDuck.Swim(); Console.WriteLine("Rubber Duck? Ruuuuubbbber Duuuuck?"); rubberDuck.Fly(); rubberDuck.Walk(); rubberDuck.Swim(); }