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