互换的青春
开关-语句本身并不是反模式,但是如果您是面向对象的编码,则应该考虑是否更好地解决了开关的使用问题。多态而不是使用开关语句。通过多态性,这个: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();
}