Ein großer Vorteil von Fluent
API wurde überhaupt nicht erwähnt, weswegen sie auch gern für DSL genutzt wird:
die Möglichkeit, eine Art Grammatik zu definieren (z.B. wir das bei den meisten Mocking Bibliotheken gemacht, die Fluent
API nutzen).
Man liefert in solchen Fällen dann nicht immer denselben Typen zurück, sondern spezielle Fluent
API Typen, die immer nur die richtigen Methoden anbieten.
Persönlich find ich ja, dass das Builder Pattern mit Fluent
API statt Eigenschaften setzen ein bisschen nach Java stinkt
Das hier gezeigte liefert leider auch keinen Mehrwert gegenüber dem herkömmlichen Weg, die Eigenschaften zu setzen.