In software engineering, a fluent interface (as first coined by Eric Evans and Martin Fowler) is an object oriented construct that defines a behavior capable of relaying the instruction context of a subsequent call. Generally, the context is * defined through the return value of a called method * self referential, where the new context is equivalent to the last context * terminated through the return of a void context.This style is beneficial due to its ability to provide a more fluid feel to the code, although some engineers find the the style difficult to read. A second criticism is that generally, programming needs are too dynamic to rely on the static contact definitionvague offered by a fluent interface.
Examples
The following example shows a class implementing a non-fluent interface, another class implementing a fluent counterpart of the aforementioned non-fluent interface, and differences in usage. The example is written in C#:
The following is an example of providing a fluent interface wrapper on top of a more traditional interface in C++:
External links
* [http://martinfowler.com/bliki/FluentInterface.html Martin Fowler's original bliki entry coining the term]
Fluent Interface — Fluent Interfaces[1] stellen in der Software Entwicklung eine Art Programmierschnittstelle dar, die es ermöglicht, beinahe in Satzform Funktionalitäten aufzurufen. Der daraus resultierende Programmcode ist leicht lesbar und macht somit das… … Deutsch Wikipedia
Fluent interface — Текучий интерфейс (англ. fluent interface, название придумано Эриком Эвансом и Мартином Фаулером) способ реализации, в разработке программного обеспечения, объектно ориентированного API, нацеленный на повышение читабельности исходного кода… … Википедия
Fluent — can refer to:* fluency, in linguistics, the ability to communicate quickly. * fluent (mathematics), in mathematics, a continuous function * fluent (artificial intelligence), in artificial intelligence, a condition that varies over time * Fluent,… … Wikipedia
Fluent — Siège de la société … Wikipédia en Français
Multiple frames interface — A Multiple Frames Interface (MFI) is a type of user interface which displays information in a set of frames or panels that can be scrolled vertically on the screen. It is an integrated interface designed to bring together virtually all the… … Wikipedia
Désignation chaînée — Fluent Interface / Interface fluide En génie logiciel, une désignation chaînée ou chaînage de méthodes consiste à agir en une seule instruction sur plusieurs méthodes du même objet, dans un but de plus grande lisibilité. L idée principale est qu… … Wikipédia en Français
Ribbon — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту стать … Википедия
Design Pattern — Entwurfsmuster (engl. design pattern) sind bewährte Lösungs Schablonen für wiederkehrende Entwurfsprobleme der Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem… … Deutsch Wikipedia
Design Patterns — Entwurfsmuster (engl. design pattern) sind bewährte Lösungs Schablonen für wiederkehrende Entwurfsprobleme der Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem… … Deutsch Wikipedia