Fluent interface

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Fluent interface (біжучий чи текучий інтерфейс) в програмуванні — спосіб конструювання об'єктно-орієнтованого API, в якому читабельність коду є близькою до звичайного прозового тексту. Термін вперше був застосований Еріком Евансом та Мартіном Фаулером. Нижче подано приклад для фреймворку тестування JMock: [1].

mock.expects(once()).method("m").with( or(stringContains("hello"),
                                          stringContains("howdy")) );

Історія

[ред. | ред. код]

Термін "fluent interface" з'явився в кінці 2005, хоча подібний підхід використовувався в Smalltalk ще в 1970-х, та в інших в 1980-их. Типовим прикладом є бібліотека iostream в мові C++, де використовуються оператори << та >> для передачі повідомлень, багатократної пересилки даних до одного і того самого об'єкта.

Приклади

[ред. | ред. код]

Нижче наведено приклад, де fluent interface обгортка застосована поверх більш традиційного інтерфейсу C++:

В мові Python використовують повернення `self` в методі.

Примітки

[ред. | ред. код]
  1. FluentInterface [Архівовано 8 березня 2021 у Wayback Machine.], Martin Fowler, 20-12-2005