有什么方法可以消除代码中switch的使用?
Switch 语句本身不是反模式,但是如果您正在编写面向对象的代码,则应该考虑使用多态性而不是使用 switch 语句是否可以更好地解决使用 switch 的问题。
使用多态性,这:
foreach (var animal in zoo) { switch (typeof(animal)) { case "dog": echo animal.bark(); break; case "cat": echo animal.meow(); break; } }
变成这样:
foreach (var animal in zoo) { echo animal.speak(); }