🎉 Ура! После трёх лет работы, я наконец выпустил английскую версию книги о паттернах! Вот она »
Также известен как: Switch Statements

Операторы switch

Симптомы и признаки

У вас есть сложный оператор switch или последовательность if-ов.

Причины появления

Одним из очевидных признаков объектно-ориентированного кода служит сравнительно редкое использование операторов типа switch или case. Часто один и тот же блок switch оказывается разбросанным по разным местам программы. При добавлении в него нового варианта приходится искать все эти блоки switch и модифицировать их.

Как правило, заметив блок switch, следует подумать о полиморфизме.

Лечение

Выигрыш

  • Улучшает организацию кода.

Не стоит трогать, если...

  • Когда оператор switch выполняет простые действия, нет никакого смысла что-то менять в коде.

  • Зачастую оператор switch используется фабричных паттернах проектирования (Фабричный метод, Абстрактная фабрика), для выбора создаваемого класса.