工廠方法模式

1.工廠方法模式

將實際創建對象工作推遲到子類中,在js中將工廠方法看作一個實例化對象的工廠類,將構造對象的構造函數放在工廠方法類的原型中即可。

'use strict';

(function(){

    //安全模式創建的工廠類
    function Factory(type,content){
        if(!(this instanceof Factory)){
            //構造函數中可以調用相應原型方法
            return new Factory(type,content);
        }
        
        //構造函數返回一個對象就會創建這個對象
        return new this[type](content);   
    }

    Factory.prototype={
        A: function(){
            this.name='red';
        },

        B: function(){
            this.name='green';
        }
    }

    var a=Factory('A');
    console.log(a.name);

})();

工廠方法模式可以創建多個類的實例對象,這種創建對象的方式避免了使用者和對象類之間的耦合,用戶不用關心

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容