A fluent API can be incredibly helpful when sharing your application with other developers.
Fluent methods are a hot design idea and they can improve the readability of your code. However, they only make sense in specific scenarios.
A fluent interface (as first coined by Eric Evans and Martin Fowler) is a method for constructing object oriented APIs, where the readability of the source code is close to that of ordinary written prose.
A fluent interface is normally implemented by using method cascading (concretely method chaining) to relay the instruction context of a subsequent call (but a fluent interface entails more than just method chaining ). 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.
— From Fluent Interface