ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript デザイン パターン シリーズ 3: ビルダー パターン

JavaScript デザイン パターン シリーズ 3: ビルダー パターン

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

この記事では、JavaScript デザイン パターンの第 3 シリーズを紹介します: ビルダー パターンに興味のある方はぜひご覧ください

ビルダー パターン

ビルダー パターン (ビルダー パターン) は比較的単純で、作成パターンに属します。 1 つはビルダー パターンで、複雑なオブジェクトを構築のために複数の単純なオブジェクトに分解し、複雑な構築層をプレゼンテーション層から分離し、同じ構築プロセスで異なる表現を作成できるようにします。

利点

  • ビルダー パターンは適切にカプセル化されており、オブジェクト自体は構築プロセスから切り離されています。

  • ビルダーモードは簡単に拡張できます。新しい要件がある場合は、新しいビルダー クラスを実装することでこれを実現できます。

適用可能なシナリオ

生成する必要があるオブジェクトは複雑な内部構造を持ち、内部プロパティ自体は相互依存しています


ビルダー パターンのコード実装

ビルダー パターンは主に 4 つの部分で構成されます: 製品製品クラス、工務店施工ディレクタークラス、ディレクタークラス、お客様。

主なプロセスは次のとおりです:
  1. 顧客のリクエスト。

  2. コマンダーは、ユーザーのニーズに基づいて要件の各部分を完了するようにビルダーに指示します。

  3. ビルダーは対応する部分を完成させます。

対応するコードを見てみましょう:

製品カテゴリは、加工された空車です。

/**
 * 产品类:car 目前需要构建一辆车。
 */

function car () {
    this.name = '',
    this.number = '',
    this.wheel = '',
    this.engine = ''
}

次に、ビルダー クラスを見てみましょう:

/* 
*    建造者类,里面有专门负责各个部分的工人
*/
function carBuilder () {
    this.nameBuilder = function () {
        this.name = '很厉害的车'
    },
    this.numberBuilder = function () {
        this.number = '88888888'
    },
    this.wheelBuilder = function () {
        this.wheel =  '高级橡胶做的轮子'
    },
    this.engineBuilder = function () {
        this.engine =  '很厉害的引擎'
    },
    this.getCar = function () {
        var Car = new car()
        Car.name = this.name;
        Car.number= this.number;
        Car.wheel = this.wheel;
        Car.engine = this.engine;
        return Car;
    }
}

ここでは、各部分のワーカーとその作業がわかり、それぞれの作業が最終的に車にマージされます。

Conductor クラス:

/**
 *   指挥者类,指挥各个部分的工人工作
 */
function director () {
    this.action = function (builder) {
        builder.nameBuilder();
        builder.numberBuilder();
        builder.wheelBuilder();
        builder.engineBuilder();
    } 
}

最後に、使用メソッド:

/**
 *    使用方法
 */

var builder = new carBuilder();
var director = new director();
director.action(builder);
var Car = builder.getCar();
console.log(Car);

最終顧客は getCar メソッドを通じて車を入手するため、構造の詳細を知る必要はありません。


概要

ビルダーパターンは主に「複雑なオブジェクトの分散構築」に使用され、拡張が容易です。新しい要件がある場合は、新しいビルダー クラスを実装することで実現できます。また、ビルダー パターンによってオブジェクト自体が構築プロセスから切り離されるため、特定の構築プロセスを気にする必要がなくなります。

関連する推奨事項:

JavaScript デザイン パターン シリーズ 1: ファクトリ パターン

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


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

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