JavaBeanスタイルのアクセサーは、元の「ビルダーツール」シナリオと同様のあらゆる種類のシナリオに適切に適合することが1つのコアポイントであることが証明されています。コンポーネントが渡され、汎用のコンテナーとツール、およびアプリケーションコードによって操作されます。アプリサーバーには、EJBまたはSpringコンテナーがトランザクションと依存関係の注入を追加するサービスコンポーネント、ORMが遅延読み込みと変更検出を追加する永続ドメインモデルがあり、特定のコードなしでライブラリによってXMLにシリアル化できます。
アクセサーは、コンポーネントの使用方法に非常に柔軟性のある共通のAPIを提供します-操作の順序を禁止しません。各アクセサー呼び出しは他の呼び出しから独立しており、すべて同じパターンに従うため、意図した使用パターンを中断することなく、機能を追加する汎用レイヤーを簡単に追加できます。
対照的に、流暢なインターフェイスは多くの場合、1回限りの使用向けに設計されています。オブジェクトが作成され、メソッドのチェーンが呼び出されて、最終結果を生成するメソッドで終了し、オブジェクトは破棄されます。柔軟性(ほとんどがオプションのメソッド)と汎用性ははるかに劣りますが、これはまさに利点です。インターフェースにより、意図した使用パターンに強制され、非常に使いやすくなります。
そのため、JavaBeansとFluentインターフェイスにはさまざまなシナリオで利点があり、どちらを使用するかは状況によって異なります。また、両方を組み合わせることもできます。