c# 多态笔记
//if语句或switch语句会带来混乱,且不遵守设计模式中的"开闭原则" //开闭原则指的是:对扩展开放,对修改关闭 //用多态(同一个接口,使用不同的实例而执行不同操作)代理条件语句 public class Test { public static void Drive(DriveCommand command) { if (command == DriveCommand.Start) { } if (command == DriveCommand.Stop) { } switch (command) { case DriveCommand.Start: break; case DriveCommand.Stop: break; default: break; } } } public enum DriveCommand { Start, Stop } //多态 public abstract class Commander { public abstract void Execute(); } public class StartCommander : Commander { public override void Execute() { } } public class StopCommander : Commander { public override void Execute() { } }
参考文献:
《编写高质量代码改善C#程序的157个建议》