工厂方法模式

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);

})();

工厂方法模式可以创建多个类的实例对象,这种创建对象的方式避免了使用者和对象类之间的耦合,用户不用关心

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容