Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.61 KB

File metadata and controls

44 lines (33 loc) · 1.61 KB
layout title folder permalink categories tags
pattern
Fluent Interface
fluentinterface
/patterns/fluentinterface/
Other
Java
Difficulty-Intermediate
Functional

Intent

A fluent interface provides an easy-readable, flowing interface, that often mimics a domain specific language. Using this pattern results in code that can be read nearly as human language.

Implementation

A fluent interface can be implemented using any of

  • Method Chaining - calling a method returns some object on which further methods can be called.
  • Static Factory Methods and Imports
  • Named parameters - can be simulated in Java using static factory methods.

Fluent Interface

Applicability

Use the Fluent Interface pattern when

  • you provide an API that would benefit from a DSL-like usage
  • you have objects that are difficult to configure or use

Real world examples

Credits