今回は、JS ファサード モードの使用例について詳しく説明します。JS ファサード モードを使用する際の 注意事項 は何ですか?実際のケースを見てみましょう。
ファサード パターンは、既存のオブジェクトに新しいインターフェイスを作成する人気の
デザイン パターン です。ファサードは真新しいオブジェクトであり、その背後で既存のオブジェクトが機能しています。ファサードはラッパーと呼ばれることもあり、さまざまなインターフェイスを使用して既存のオブジェクトをラップします。継承がユースケースにとって十分でない場合、次のステップとしてファサードを作成するのが当然です。
jQuery と YUI の DOM インターフェイスは両方ともファサードを使用します。上で述べたように、DOM オブジェクト から継承することはできないため、機能を安全に追加する唯一のオプションはファサードを作成することです。 DOM オブジェクト ラッパー コードの例を次に示します。
function DOMWrapper (element) { this.element = element;
}
DOMWrapper.prototype.addClass = function (className) { this.element.className += ' ' + className;
}
DOMWrapper.prototype.remove = function () { this.element.parentNode.removeChild(this.element);
}// 用法var wrapper = new DOMWrapper(
document
.getElementById('my-div'));
wrapper.addClass('selected');
wrapper.remove();
ログイン後にコピー
DOMWrapper 型は、DOM 要素がそのコンストラクターに渡されることを期待します。要素は後で参照できるように保存され、要素を操作するためのいくつかのメソッドが定義されます。 addClass() メソッドは、HTML5 の classList 属性がまだ実装されていない要素に className を追加する簡単な方法です。 Remove() メソッドは、DOM から要素を削除する操作をカプセル化し、開発者が要素の親ノードにアクセスする必要を防ぎます。
JS の保守性の観点から、ファサードはこれらのインターフェースを完全に制御できる非常に適した方法です。基になるオブジェクトのプロパティまたはメソッドへのアクセスを許可したり、その逆を行ったりして、そのオブジェクトへのアクセスを効果的にフィルタリングすることができます。既存のメソッドを変更して、よりシンプルで使いやすくすることもできます (上記のサンプル コードは一例です)。基礎となるオブジェクトがどのように変更されても、ファサードが変更されている限り、アプリケーションは正常に動作し続けることができます。
あるオブジェクトを別のオブジェクトのように見せるために特定のインターフェイスを実装するファサードはアダプターと呼ばれます。ファサードとアダプターの唯一の違いは、前者は新しいインターフェイスを作成し、後者は既存のインターフェイスを実装することです。
この記事の事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
Web開発でnull比較を回避する方法
Web開発で元の値を検出する方法
以上がJSファサードパターンのユースケースの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。