单例设计模式

今天给大家说一下函数里一种常用的模式-单例设计模式
设计模式就是一种思想(创建每一个单独的实例,单例设计模式)
基于对象数据类型,把描述当前事物的属性和方法统一放在一起分组管理,互不冲突,能够减少全局变量污染,这种JS设计模式就是“单例设计模式”
1、每一个对象都是一个单独的实例(单独的堆内存),存储的键值对都是堆中私有的内容,所以两个实例之间不会有任何的冲突(简单来说,创建一个对象的思想就是单例设计模式的思想)

2、在单例设计模式当中,有一些新的概念,在下述案例中,obj不仅仅是一个变量存储对象(对象名),也被称为“命名空间”(其实就是给对象的堆内存设置一个obj的名字,堆内存是空间,obj是名字),把描述当前事物属性的方法,放到空间中,进行分组管理
var obj={xxx:xxx,…}

在其它的编程语言中,认为只有基于构造函数构造出来的实例才能被称为“单例设计模式”,也就是var xxx=new xxx;
但是在JS中,var obj={…};本身就是基于new Ojbect()构建出来的,所以是标准的单例设计模式;

真实项目开发中,尤其是团队协作开发,我们经常会把一个大的页面,按照功能特点进行“版块” 或 “模块”划分,这样一个版块中需要编写很多属性和方法来实现具体的功能;此时,有些方法只需要版块内部使用,而有些方法可能在其他版块中也需要使用,这样我们既要私有化,也要暴露一些方法供外面调取,这里涉及到模块管理思想
模块管理思想:
1、单例设计模式也是最基础的模块化思想
2、AMD/CMD(requireJS和seaJS)
3、UMD
4、CommonJS
5、ES6Module

模块化管理思想作用:把项目拆成很多模块,然后当前这个模块要实现的功能方法,全部放在自己所在的模块下,此时,有些方法只需要版块内部使用,而有些方法可能在其他版块中也需要使用,这样我们既要私有化,也要暴露一些方法供外面调取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值