目標
Fluent Interfaceの主な目的は読みやすさの向上です。
オブジェクトを構築するために使用される場合、呼び出し側が利用できる選択肢は、コンパイル時のチェックを介して明確に行われ、強制されます。たとえば、複雑なオブジェクトを構築するためのパスに沿ったステップを表す次のオプションのツリーを考えてみましょう。
A -> B
-> C -> D -> Done
-> E -> Done
-> F -> Done.
-> G -> H -> I -> Done.
流動的なインターフェースを使用するビルダーは、呼び出し側が各ステップで使用可能なオプションを簡単に確認できるようになります。たとえば、 A→Bでも可能ですが、 A→Cではなく、コンパイル時にエラーが発生します。