小编典典

消除代码中切换的方法

all

有什么方法可以消除代码中switch的使用?


阅读 93

收藏
2022-07-18

共1个答案

小编典典

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