Если ваш метод завистлив и не доверяет делегированию, вам следует начать это делать.

Проблемы

  • Связь
  • Низкое повторное использование
  • Низкая тестируемость
  • Назначение плохих обязанностей
  • Bijection Fault


Решения

  1. Переместите метод в соответствующий класс.

Образец кода

Неправильный

Верно

Обнаружение

Некоторые линтеры могут обнаруживать последовательную схему взаимодействия с другим объектом.

Теги

  • Связь

Заключение

  • Мы должны распределять обязанности в соответствии с реальными мапперами объектов и избегать злоупотребления протоколом других объектов.

связи



Больше информации





Мы утверждаем, что методы проектирования, основанные на подходе, основанном на данных, не могут обеспечить максимальную инкапсуляцию, потому что они слишком быстро сосредотачиваются на реализации объектов. Мы предлагаем альтернативный метод объектно-ориентированного проектирования, основанный на принципах ответственности.

Ребекка Вирфс-Брок



Эта статья является частью серии CodeSmell.