/// <summary> /// Definition: /// The strategy pattern defines a family of algorithms, encapsulates each one and makes them interchangeable. /// Strategy lets the algorithm very independently from clients that use it. /// </summary> static void Main(string[] args) { WildDuck wildDuck = new WildDuck(); CityDuck cityDuck = new CityDuck(); Console.WriteLine("\n--- The wild duck ---"); wildDuck.Quack(); wildDuck.Fly(); wildDuck.Display(); Console.WriteLine("\n--- The city duck ---"); cityDuck.Quack(); cityDuck.Fly(); cityDuck.Display(); Console.ReadKey(); }