【インタビュー】25_デザインパターン

0.ファクトリモード

function createPerson(name, age, job) {
    
    
    let o = new Object();
    o.name = name;
    o.age = age;
    o.job = job;
    o.sayName = function () {
    
    
        console.log(this.name);
    };
    return o;
}
let person1 = createPerson("Nicholas", 29, "Software Engineer");
let person2 = createPerson("Greg", 27, "Doctor");

1.コンストラクターモード

ファクトリパターンは、オブジェクトの識別、新しく作成されたオブジェクトのタイプの問題を解決しません。

2.シングルトンモード

const CreateSingle = (function () {
    
    
    let instance;
    return function (name, age) {
    
    
        if (instance) {
    
    
            return instance;
        }
        this.name = name;
        this.age = age;
        return instance = this;
    };
})();
CreateSingle.prototype.say = function () {
    
    
    console.log(this.name);
};

const a = new CreateSingle('ifer', 18);
const b = new CreateSingle('elser', 19);
console.log(a === b);

3.パブリッシュサブスクライブとオブザーバー

おすすめ

転載: blog.csdn.net/dangpugui/article/details/114945107