面向对象中的几种设计模式

1.单例设计模式(Singleton Pattern)

1.为什么会出现单例模式呢
在同一作用域下会出现相同的姓名时,就需使用这个单例模式。
单例模式一般都会结合闭包一起来使用的

let name='张三';
let age=20;
let sex= '男';

let name='李四';
let age=21;
let sex= '男';

2.单例模式是干嘛的
把描述当前事务的信息进行分组归类(减少全局变量的污染)

let obj={
    name:"张三";
    age:20
    }
let ary={
    name:"李四";
    age:21    
    }

这就是JS中的单例模式;
代码中的obj / ary 不仅仅被叫做变量(对象名),也被称为“命名空间”
单例模式:把描述事物的信息放到一个命名空间中进行归组,防止全局变量的污染。

3.为了让单例模式变得高大上一些,真实项目中的单例模式都是这样处理

let namespace=(function(){
   //在这里面创建一些方法(闭包中的私有方法)
   let fn = function(){
          //....
     }
    return {
    //把return出来的东西赋值给namespace
       name:"xxx";
       fn:fn
  }
})();  
namespace.name
namespace.fn()

上面这个就是高级单例模式

2.工厂模式

1.批量化生产:把实现某个功能的代码进行封装,后期在想实现这个功能,我们直接执行函数即可。

  • 低耦合:减少页面中冗余的代码
  • 高内聚:提高代码的重复使用率
function createPerson(name,age){
    let person={};
    person.name=name;
    person.age=age;
    return person
}

let obj=createPerson('张三',18);
let arr=createPerson('李四',10);
obj.name
arr.name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值