1. ホーム
  2. design-patterns

[解決済み] コード内のスイッチをなくす方法【非公開

2022-04-14 10:50:16

質問

コードの中で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();
}