Javascript工場モード:関数createPerson(…

803 ワード

工場モデルはソフトウェアエンジニアリング分野で広く知られている設計モデルであり、このようなモデルは具体的な対象を作成する過程を抽象的に示している.ECMAScriptでクラスを作成できないことを考慮して、開発者は、特定のインターフェースでオブジェクトを作成するための関数を用いてパッケージ化した関数を発明しました.
function createPerson(name, age, job) {
    var o = new Object();
    o.name = name;
    o.age = age;
    o.job = job;
    o.sayName = function () {
        alert(this.name);
    };
    return o;
}

var person1 = createPerson("Nicholas", 29, "Software Engineer");
var person2 = createPerson("Greg", 27, "Doctor");

person1.sayName(); //"Nicholas"
person2.sayName(); //"Greg"
関数createPerson()は、受け入れられたパラメータに基づいて必要なすべての情報を含むPersonオブジェクトを構築することができる.この関数は何度も呼び出すことができますが、毎回3つの属性の1つの方法を含むオブジェクトを返します.工場モードは複数の類似対象を作成する問題を解決しましたが、対象識別の問題を解決しませんでした.JavaScriptの発展に伴って、また新しいモデルが現れました.