策略模式示例 -- C#语言
定义 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 UML图 代码 为了方便写到了一起,实际开发中类要单独页面写。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Pattern_Duck { class Program { static void Main(string[] args) { Duck mallard = new MallardDuck(); mallard.PerformFly(); mallard.PerformQuack(); mallard.Display(); Console.WriteLine("___________"); Duck model = new ModelDuck(); model.PerformFly(); model.SetIFlyBehavior(new FlyRocketPowered()); model.PerformFly(); Console.ReadKey(); } } //抽象基类:鸭子 public abstract class Duck { /