单例模式(Singleton Pattern):javascript
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 目的:阻止其余对象实例化其本身的单例对象的副本,从而确保全部对象都访问惟一实例。 场景:如一个系统中能够存在多个打印任务,可是同时只能有一个正在工做的任务。
例:JS代码实现java
// 惰性单例 let lazySingle = (() => { let _instance = null // 单例 Single = () => { let privateAttribute = '我是私有属性' privateMethod = () => { // 私有方法 } return { publicMethod: () => { // 对外暴露方法 }, publicAttribute: '我是对外暴露属性' } } // 提供一个全局访问点 return () => { if (!_instance) { _instance = Single() } return _instance } })()