JavaScript设计模式之工厂模式

一、用途

用于创建复杂的对象,只需要获得对象,并不需要知道对象创造的过程。

二、思想

将对象的创造和实现分离。

三、优点

  • 更好的代码封装,为使用者提供便捷,不需要理解实现的过程。
  • 扩延展性强。

四、缺点

更加抽象,具有更高的代码复杂度。

五、示例

function getInfo(name){
    const obj = {
        "小明":new GetXiaoMing(),
        "小刚":new GetXiaoGang(),
    }
    if(obj[name]){
        return obj[name];
    }else{
        return "不存在此人"
    }
}
function GetXiaoMing(){//构造函数
    this.name = "小明";
    GetXiaoMing.prototype.getInfo = function(){
        return {
            age:10,
            school:"阳光小学",
        }
    }
}
class GetXiaoGang {//class类
    constructor(){
        this.name = "小刚";
    }
    getInfo(){
        return {
            age:11,
            school:"实验小学",
        }
    }
}
let student1 = getInfo("小明");
let student2 = getInfo("小刚");
console.log(student1.getInfo());//小明 -> 10岁 在阳光小学
console.log(student2.getInfo());//小刚 -> 11岁 在实验小学
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容