Также известен как Middle Man

Запах кода Посредник

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

Если класс выполняет одно действие – делегирует работу другому классу – стоит задуматься, зачем он вообще существует.

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

Данный запах может быть результатом фанатичной борьбы с цепочками вызовов.

Кроме того, бывает так, что вся полезная нагрузка класса постепенно перемещается в другие классы, в результате кроме делегирующих методов в нем ничего не остается.

Лечение

  • Если большую часть методов класс делегирует другому классу, нужно воспользоваться удалением посредника.

Выигрыш

  • Уменьшение размера кода.

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

Не удаляйте посредников, которые были созданы осознанно:

  • Посредник мог быть введён для избавления от нежелательной зависимости между классами.

  • Некоторые паттерны проектирования намеренно создают посредников (например, Заместитель или Декоратор).

Устали читать?

Сбегайте за подушкой, у нас тут контента на 7 часов чтения.

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

Узнать больше...