私は JavaScript/jQuery に少し慣れていませんが、メソッド チェーンの例を見たとき、すぐになじみがあるように感じました。LINQ などの他のインターフェイスは、一連のメソッドの戻り値の型が操作対象の型と同じである場合に、同様の処理を行います (TweetSharp は非常に類似した処理を行います)。これは流暢なプログラミングの例ですか? 私が jQuery について読んだことの多くは、他のライブラリがこのメソッド チェーンのアイデアを「借用」したと述べています。
3 に答える
jQuery は確かにビルダー パターン/流暢なインターフェイスに大きく準拠していますが、完全に独自のデザイン パターンのパイオニアではないことは確かです。他のライブラリはおそらく jQuery の後に続き、そのアプローチを借用しました。それは、jQuery に由来するように見える jQuery の名声にすぎません。
連鎖だけでは流暢なインターフェースにはなりません。「流暢なインターフェース」という用語は、ソフトウェア理論に関する現代の著名な著者の 1 人である Martin Fowler によって広められたようです (ただし、彼はこの手法を発明したわけではありません)。
Fowler は、メソッド チェーンは単にオブジェクト参照を返すメソッドを指すだけであり、流暢なインターフェイスはドメイン固有言語に似ており、(理想的には) コードよりも自然言語のように流れるように設計されていることを明確にしています。
JQueryは確かにメソッドチェーンを発明しませんでした。JavaScriptや他の多くの言語ですでに可能でした。
メソッドチェーンは、おそらくJQueryによって多くの人の目に正当化されました。多くのJavaプログラマーは、オブジェクトの関数は他のオブジェクトのみを返す必要があり、オブジェクト自体は返さないようにする必要があると依然として主張しています 。私が10年前に思い出したように、私は別の方法を提案するためにJavaメーリングリストから改造されました:)