JavaScript设计模式-0001---单例模式
2020-04-05 本文已影响0人
八月飞花
单例模式
简介:
单例模式是指在全局中有且仅有一个实例对象,这个对象的属性和方法对外界暴露,但是无论外界对这个对象初始化或实例化多少次,都只得到一个对象。且操作一个对象,包括跟随在对象方法上的属性都是共享的
应用场合:
单例模式因为特有的实例化形式,所以使用场合也比较单一,一般是只要在任意地点操作指定的对象,但是这个对象只有一个展现形式或状态,就可以使用单例模式,一般上,比如整个页面的登录按钮有很多,但是登录窗口只有一个,所以一般我们将登录的窗口作为单例对象的操作对象,向外暴露一个实例化方法,即,任意一个实例化操作都可以得到这个对象的引用,这个对象在全局上是唯一的,从而进行操作
原理:
单例模式的本质是实例化一个内存堆,每次被别的引用时,对方接收到的其实是这个堆的统一地址,无论变量名是什么,指向的都是同一块实例化对象
原则:
单例模式符合单一职责原则,不符合开放封闭原则,但是不违背开放封闭原则