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 savageDuck = new Duck(new SupersonicFly(), new LongQuack()); savageDuck.Fly(); savageDuck.Quack(); Console.WriteLine("--------------------------------------------"); Duck domesticDuck = new Duck(new LowRangeFly(), new ShortQuack()); domesticDuck.Fly(); domesticDuck.Quack(); }
static void Main(string[] args) { var jetPoweredRobotDuck = new Duck(new JetFlyBehavior(), new RobotQuackBehavior()); Console.WriteLine("jetPoweredRobotDuck -- "); jetPoweredRobotDuck.Fly(); jetPoweredRobotDuck.Quack(); Console.WriteLine(); Console.WriteLine("normalDuck-- "); var normalDuck = new Duck(new SimpleFlyBehavior(), new NormalQuackBehavior()); normalDuck.Fly(); normalDuck.Quack(); Console.Read(); }