Внешний вид сайта:

Операторы выбора (Switch Statements)

Полезность страницы:
0/100

Отличительный признак хорошей объектно-ориентированной программы – относительно небольшое количество операторов выбора. Основная проблема с этими операторами в дублирующемся коде: если такие операторы разбросаны по всей программе, и добавляется новый вариант выбора, то надо найти все эти операторы и изменить их. Полиморфизм предоставляет красивый выход из этой ситуации.

В большинстве случаев, когда возникает оператор выбора, надо рассматривать применение полиморфизма.

Если оператор основан на кодировании типа, и нужен класс, который будет соответствовать определенному значению – тогда применяется Извлечение метода, чтобы вынести этот оператор, и Перемещение метода для помещения его в класс, где требуется полиморфизм. Здесь надо выбрать между Заменой кодирования типа подклассами и Заменой кодирования типа состоянием/стратегией. Когда структура наследования будет установлена, можно использовать Замену условия полиморфизмом.

Если же имеется немного альтернатив, влияющих на один метод, и изменения не ожидаются, то полиморфизм излишен. В этом случае надо использовать Замену параметра набором методов. Если среди возможных альтернатив есть NULL, то надо использовать Введение NULL объекта.

Дополнить страницу Вы можете помочь другим людям дополнив эту страницу вашими знаниями по данному вопросу!
11:37

Комментарии

Нет комментариев. Ваш будет первым!