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++, де використовуються оператори << та >> для передачі повідомлень, багатократної пересилки даних до одного і того самого об'єкта.

Приклади

C++

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

Python

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

Примітки

  1. FluentInterface, Martin Fowler, 20-12-2005
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.