Расходящиеся модификации
«Расходящиеся модификации» похожи на Стрельбу дробью, но на самом деле являются ее противоположностью. «Расходящиеся модификации» имеют место, когда есть один класс, в котором производится много разных изменений, а «Стрельба дробью» — это одно изменение, затрагивающее одновременно много классов.
Симптомы и признаки
При внесении изменений в класс приходится изменять большое число различных методов. Например, для добавления нового вида товара вам нужно изменить методы поиска, отображения и заказа товаров.
Причины появления
Часто появление расходящихся модификаций является следствием плохой структурированности программы или программирования методом копирования-вставки.
Лечение
-
Разделите поведения класса, используя извлечение класса.
-
Если различные классы имеют одно и то же поведение, возможно, следует объединить эти классы, используя наследование (извлечение суперкласса и извлечение подкласса).
Выигрыш
-
Улучшает организацию кода.
-
Уменьшает дублирование кода.
-
Упрощает поддержку.