设计模式之工厂方法模式

来源:互联网 发布:唯品会与淘宝的区别 编辑:程序博客网 时间:2024/05/02 07:03
//定义一个用于创建对象的接口,让子类决定将哪一个类实例化。实际是将一个类的实例化延迟到其子类//这样父类就成为抽象类//鉴于js没有像强类型语言创建抽象类的语法,我们在 函数的原型 与 函数 中模拟抽象的父类与子类//子类,实例化在这里进行var Factory = function (type, content) {    if(this instanceof Factory){    //if判断为安全起见,直接使用Factory,this是window        return new this[type](content);    }else{        return new Factory(type, content);    }}//父类Factory.prototype = {    Java: function (content) {        this.content = content;        (function (content) {            console.log('oh,' + content);        })(content);    },    php: function (content) {        this.content = content;        (function (content) {            console.log('oh,' + content);        })(content);    }}var data = [    {type: 'Java', content: 'java is so easy!'},    {type: 'php', content: 'php is so easy!'}];for (var i = 0;i < data.length; i++){    Factory(data[i].type, data[i].content);}// oh,java is so easy!// oh,php is so easy!
0 0