localstorage 设置初始值,下面的静态方法就不用判断了吧
来源:4-4 【单件设计模式应用】构建单件 localStorage 类(真实应用场景)-2

假装很会写代码
2021-08-25
static localstorage: MyLocalStorage = new MyLocalStorage() 设置初始值,下面的静态方法就不用判断了,这样写法是不是更简洁一些?
写回答
1回答
-
keviny79
2021-08-25
需要更深入来理解这个问题,需要理解的更完全些
import { Collection } from './Collection'// Collection是单件模式类文件
Collection.test();
//Collection.getInstance();
4-11会讲解第二种实现方式的加载时机, 我这里先总结下两种方式各自的利和弊 ,
先说第一种方式:
1.第一种是不访问方法不创建对象【需要时才创建,也叫延迟创建按】,
好处是:虽然这是单件模式,但如果 10个类 有3个类只需要调用了
类中的其他静态方法并不需要对象,请注意,这是有可能的,
那么这3次使用静态方法时并不会 创建对象,因为是延迟创建。
另外一个好处就是可以在方法里增加一些其他的语句,方便测试或调试时使用
那怎样做到这一点呢?很简单
所以可以只导出一个类,然后在需要使用的位置来调用getInstance()来获取单件对象
2.再来说第二种方式
第二种方式时属于饿汉式,不管你用不用单件对象,我都给你创建,
因为是静态属性指向的对象,所以即使你像第一种方式一样只导入一个类,它也会创建对象。
所以了解了这个特点,我们知道它的优点是: 当我们整个项目绝大多数
只需要用一个单件对象时,这种方案自然首选,
00
相似问题