Чем беглые API отличаются от других API? - PullRequest
2 голосов
/ 26 мая 2010

Я сталкивался с беглыми API во время изучения DSL.
Я много искал беглых API-интерфейсов ... основной вывод, который я мог сделать, состоял в том, что беглый API-интерфейс использует цепочку методов, чтобы сделать код свободным.
Но я не могу понять - в объектно-ориентированных языках мы всегда можем создать объект и вызвать методы, связанные с ним. Тогда чем отличается свободный API? Какие еще функции добавляет свободный API?

Ответы [ 2 ]

1 голос
/ 31 мая 2010

Ответ на ваш вопрос в исходном сообщении блога Fluent Interface Мартина Фаулера . Дело в том, что свободное владение API-интерфейсом происходит от предметно-ориентированного языка, а не только от цепочки методов.

1 голос
/ 26 мая 2010

Используя свободный интерфейс, вы пишете методы, которые возвращают объект, для которого был вызван метод (обычно self или this ), и обрабатывают традиционные возвращаемые значения как изменение состояния в этом объекте.,Если вы посмотрите на некоторые из библиотек Javascript, которые используют свободный интерфейс, вам будет намного легче иметь дело со списками и значениями NULL, поскольку они могут обрабатываться так же, как и один объект.Недостаток беглых интерфейсов состоит в том, что они имеют тенденцию создавать монолитные объекты бога, которые имеют целую кучу обязанностей.

Я бы не хотел, чтобы они использовались везде (из-за проблемы объекта бога), но они хорошивремя от времени.

...