JavaScript高级进阶之设计模式 单利模式

单利模式的几大特点

  1. 命名空间的管理员

单利模式提供命名空间 ???
开发者通常用名字或者拼音来命名变量或者是函数名称,由于我们的单词和拼音都是有限的,所以不同人定义变量或者是方法名称都很有可能重复,因此 命名看,空间来约束每一个人定义的变量,如果公司团队开发命名名称时可以用 lishi,xiaoli,所以单利模式通常来定义命名空间的

//这里是小李命名空间,已经小李写的对应函数
let xiaoli = {
getid(id){
	return document.getElementById(id);
},
getdom(name){
	return document.querySelector(name);
}
}

  1. 模块功能分明

let lihua = {
	getDom:{
		getid(id) {
			return document.getElementById(id)
		},
		gitName(name) {
			return document.querySelector(name)
		},
	},
	Ajax() {
		return {
			get() {},
			post() {}
		}
	}

}
  1. 不能修改静态变量
let Conf = (()=>{
	let config = {
		MAX_NUM:10000,
		MIN_NUM:1,
		COUNT:10001
	};
	return {
		get(name){
			return config[name]
		}
	}
})();

Conf.get('COUNT')
  1. 有懒惰性
let LAS = (()=>{
	let initial= null;
	function singe(){
		return {
			Method(){},
			propery:100
		}
	}
	
	return ()=>{
		console.log(initial)  // 第一次调用初始化时 为 null  
		if(!initial){ // 第一次没有值 进判断,赋值
			initial = singe()
		}
		console.log(initial) //赋值后的变量
		return initial;
	}
})()

LAS().LAS
LAS().LAS

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值