js装飾デザインパターンの詳細解説

小云云
リリース: 2018-02-22 09:11:02
オリジナル
1226 人が閲覧しました

装飾デザイン パターン:

各デバイスには、独自のアプリケーション シナリオと問題解決方法があります。装飾デザイン パターンは、サブクラスを追加することなく、オブジェクトに新しい機能を動的に追加するために使用されるテクノロジーです。継承により、オブジェクトの新しい機能を拡張できます。継承関係の代わりにオブジェクト関連付け関係を使用すると、より柔軟であり、型システムの急速な拡張を回避できます。このモードは、新しく追加された関数だけでは継承を犠牲にして問題を解決できない場合、つまりニワトリを殺す場合に使用するのに適しています。肉屋のナイフ ^_^
装飾デザイン パターン: オブジェクトの機能を拡張するために、デコレーターは継承よりも柔軟な代替手段を提供します。

構造図:

インターフェース


オブジェクトクラス


var Bicycle = new Interface('Bicycle', ['assemble', 'wash', 'repair', 'getPrice']);
ログイン後にコピー

デコレーションクラス


var AcmeComfortCuiser = function(){
  
};
AcmeComfortCuiser.prototype = {
  assemble: function(){
    
  },
  wash: function(){
    
  },
  repair: function(){
    
  },
  getPrice: function(){
    
  }
}
ログイン後にコピー

拡張カテゴリー


var BicycleDecorator = function(bicycle){
  Interface.ensureImplements(bicycle, Bicycle);
  this.bicycle = bicycle;
};
BicycleDecorator.prototype = {
  assemble: function(){
    return this.bicycle.assemble();
  },
  wash: function(){
    return this.bicycle.wash();
  },
  repair: function(){
    return this.bicycle.repair();
  },
  getPrice: function(){
    return this.bicycle.getPrice();
  }
}
ログイン後にコピー

関連する推奨事項:


Node.js の一般的な基本設計パターンの分析例

サービス ロケーター パターンの詳細な説明 PHP 設計パターンの例

PHP 設計パターンの詳細な説明 メモ パターン

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!