Программирование, Шаблоны проектирования

Шаблон «Текучий интерфейс» (Fluent interface pattern)

Этот шаблон используется для повышения читаемости исходного кода программы. Относится к структурным шаблонам.

54f5983b2544a7ce66e962f2f029de48

Нередко в программировании нам приходится вызывать несколько методов подряд. Например:


Порой это не лучшим образом сказывается на читаемости кода. Одним из вариантов решения проблемы является использование шаблона «Текучий интерфейс». Реализуется он при помощи цепочки вызовов.

Цепочка вызовов — это прием в программировании, который позволяет создавать последовательности вызовов методов объекта.

При этом предлагается несколько изменить реализацию соответсвующих методов класса:

Благодаря конструкции return $this  методы будут возвращать экземпляр класса, который вызвал текущий метод. В результате этого мы можем использовать цепочки вызовов:


К примеру, в Yii2 framework это может выглядеть вот так:


Выводы

Несмотря на удобство данного подхода, всегда следует руководствоваться здравым смыслом и не делать цепочки слишком длинными. Как определить допустимое количество методов? Попросите коллегу прочитать ваш код.

Если на его лице не появится это выражение:

RApjNQi

значит все в порядке.

Поделитесь с друзьями или сохраните себе
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Напишите комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


3 × два =