Глянь мой новый курс по Git! Привет! Глянь мой новый курс по Git! Привет! Глянь мой новый курс по Git на GitByBit.com! Привет! Хочешь круто подтянуть Git? Глянь мой новый курс на GitByBit.com!

Цепочка вызовов

Также известен как: Message Chains

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

Вы видите в коде цепочки вызовов вроде такой $a->b()->c()->d()

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

Цепочка вызовов появляется тогда, когда клиент запрашивает у одного объекта другой, в свою очередь этот объект запрашивает ещё один и т. д. Такие последовательности вызовов означают, что клиент связан с навигацией по структуре классов. Любые изменения промежуточных связей означают необходимость модификации клиента.

Лечение

Выигрыш

  • Может уменьшить связность между классами цепочки.

  • Может уменьшить размер кода.

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

  • Если вы перестараетесь в процессе сокрытия делегирования, в коде будет довольно сложно понять, где именно осуществляется конкретная работа. Другими словами, появится запах Посредник.