6、单例设计模式和工场模式

173 阅读1分钟

不会写东西,有错误请大家帮忙纠正,谢谢!

1、单例设计模式
let name = "张韶涵";
let age = 18;
let sex = "美女歌手";

//=>把描述当前事物特征的信息进行分组归类(减少全局变量的污染)
//=>这就是js中单例设计模式
//*
  *beautifulGirl不仅仅被叫做变量(对象名),也被称为为:“命名空间”
  *单例模式:把描述事物的信息放在一个命名空间中进行归组,防止全局变量的污染
  *
let beautifulGirl = {
    name: "张韶涵",
    age: 18,
    sex: "美女歌手",
};

1、为了让单例模式变得高大上一些,真实项目中单例模式都是这样处理的:高级单例模式结合闭包一起使用

let namespace = (function(){
    // 创建一些方法(闭包中的私有方法)
    let fn = function(){};
    return {
        name: "爱吃番茄的橘子猫",
        fn,
    }
})()
namespace.name
namespace.fn()
1、工场模式
批量化生产:把实现某个功能的代码进行封装,后期在想实现这个功能,我们直接执行函数即可。
低耦合:减少页面中冗余的代码
高内聚:提高代码的重复使用率
function createPerson(name,age){
    let person={};
    person.name = name;
    person.age = age;
    return person;
};
let young=createPerson("易烊千玺",18);
let old=createPerson("陈道明",18);