3

DSLを勉強しているときに流暢なAPIに出くわしました。
私は流暢なAPIについて多くのことを検索しました...私が引き出すことができる基本的な結論は、流暢なAPIはコードを流暢にするためにメソッドチェーンを使用するということでした。
しかし、私には理解できません。オブジェクト指向言語では、いつでもオブジェクトを作成し、それに関連するメソッドを呼び出すことができます。では、流暢なAPIはどのように違うのでしょうか。流暢なAPIは他にどのような機能を追加しますか?

4

2 に答える 2

2

流暢なインターフェースを使用して、メソッドが呼び出されたオブジェクト(通常はselfまたはthis)を返し、従来の戻り値をそのオブジェクトの状態変化として処理するメソッドを記述します。流暢なインターフェースを使用するJavascriptライブラリのいくつかを見ると、単一のオブジェクトと同じように処理できるため、リストとnullの処理がはるかに簡単になります。流暢なインターフェースの欠点は、責任の山全体を持つモノリシックな神オブジェクトを作成する傾向があることです。

(神オブジェクトの問題のために)どこでも使用したくないのですが、時々いいです。

于 2010-05-26T06:43:45.347 に答える
1

あなたの質問は、MartinFowlerによる元のFluentInterfaceブログ投稿で回答されています。重要なのは、流暢なAPIの流暢さは、メソッドチェーンだけでなく、ドメイン固有言語のドメインに由来するということです。

于 2010-05-30T21:44:04.680 に答える