Весняний РОЗПРОДАЖ

Ланцюжок викликів

Також відомий як: Message Chains

Симптоми і ознаки

Ви бачите в коді ланцюжок викликів на зразок такого $a->b()->c()->d()

Причини появи

Ланцюжок викликів з’являється тоді, коли клієнт запитує один об’єкт щодо іншого, у свою чергу цей об’єкт запитує ще один і т. д. Такі послідовності викликів означають, що клієнт є пов’язаний з навігацією по структурі класів. Будь-які зміни проміжних зв’язків означають, що клієнт потрібно буде модифікувати.

Лікування

Виграш

  • Зменшується зв’язність між класами ланцюжка.

  • Зменшується розмір коду.

Не варто чіпати, якщо...

  • Якщо ви перестараєтеся в процесі приховування делегування, в коді буде досить складно зрозуміти, де саме здійснюється конкретна робота. Іншими словами, з’явиться запах Посередник.