Tagged: Fluent

Best Practices for Designing a Fluent API

imageA 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 [1]). 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

Continue reading