Le fluent interfaces sono frutto delle brillanti menti di Martin Fowler, guru dell'ingegneria del software, e di Eric Evans, padre del Domain-Driven Design: si tratta di una modalità di progettazione di API finalizzata alla compattezza del codice e alla leggibilità , spesso tramite la concatenazione di metodi (method chaining). Più facile comprenderle osservando del codice che spiegandolo in maniera discorsiva, per cui ecco un paio di link.
Questa (buona) pratica non è nativamente supportata da tutti i linguaggi di programmazione, specie dai meno recenti. Per Java, tuttavia, esiste una libreria in grado di semplificare il lavoro dello sviluppatore: si tratta di op4j, di cui è stata recentemente rilasciata la versione 1.0.
Op4j e l'approccio fluent risultano particolarmente utili, ad esempio, nel caso di conversioni di tipo o gestione di collection, operazioni che solitamente producono codice alquanto verboso, sicuramente meno rispetto a linguaggi più recenti quali Groovy o Ruby.
Per approfondimenti, oltre al sito ufficiale della libreria, c'è un'intervista su DZone al creatore Daniel Fernandez, nonché un blog dedicato contenente news ed esempi di utilizzo. Buona programmazione fluent a tutti!