ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript デザイン パターン 7: デコレータ パターン

JavaScript デザイン パターン 7: デコレータ パターン

不言
不言オリジナル
2018-04-02 14:13:15997ブラウズ

この記事では、JavaScript デザイン パターン 7: デコレータ パターンを紹介します。興味のある方は、

デコレータ パターン

デコレータ パターンを参照してください。デコレータ パターンは、継承のより柔軟な代替手段を提供します。デコレーターは、同じインターフェイスでオブジェクトをラップし、オーバーロードされたメソッドの形式で新しい関数を追加するために使用され、装飾されたオブジェクトの前後に独自の動作を追加して、特定の目的を達成できます。
簡単な理解: オブジェクトに責任を動的に追加する方法は、装飾パターンと呼ばれます。
簡単な例を挙げます:

var xiaoming = function () {
  this.run = function () {
    return '跑步'
  },
  this.eat = function () {
    return: '吃饭'
  }
}
// 小明可以跑步,也可以吃饭
// 下面是一个装饰类,给小明进行装饰
var decor = function (xiaoming) {
  this.run = function () {
    return xiaoming.run + '很快'
  }
  this.eat = function () {
    return xiaoming.eat + '很多'
  }
}

は、装飾クラスを通じて Xiao Ming クラスの装飾を実現します。

概要

デコレーターパターンは、装飾する各関数を別の関数に配置し、この関数を使用して装飾する既存の関数オブジェクトをラップする方法です。特別な動作を実行する必要がある場合、呼び出し元のコードは、装飾関数を選択的かつ連続的に使用して、必要に応じてオブジェクトをラップできます。利点は、クラス (関数) の中核的な責任と装飾的な機能が分離されていることです

関連推奨事項:

JavaScript デザイン パターン シリーズ 2: シングルトン パターン

JavaScript デザイン パターン シリーズ 4: プロトタイプ パターン

JavaScript デザインパターン シリーズ 6: ブリッジパターン

以上がJavaScript デザイン パターン 7: デコレータ パターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。