2017-12-31 16:29:48 +09:00
..
2017-11-28 20:55:52 +02:00
2017-12-31 16:29:48 +09:00
2017-12-31 16:29:48 +09:00
2017-11-28 21:28:53 +02:00

layout, title, folder, permalink, categories, tags
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