关于单例模式
来源:2-22 静态属性,Setter和Getter

袁门弟子
2020-06-11
老师您好我有几个问题想请教您:
关于单例模式,我是这样理解的:
1: 将constructor私有化,只能内部访问,防止外部直接new来进行实例化。
2: 创建一个静态方法,这个方法会返回实例化对象,以供外部获取。
3: 创建一个静态的、私有的、Dome类型的注解的变量,存储实例化对象。
4: 在2创建的静态方法中进行判断(也就是外部进行获取的时候),是否存在3种创建的对象。如果没有(3创建时候并未赋值),表示还未创建实力对象,直接进行实例化并且return。如果有,就直接return。
而且在实例化的时候,传入的参数是写死的,因为我们的需求 就是单例模式,这并不矛盾。
q1:不知道我理解单例模式是否正确?
老师其实我还有一个题外的小问题想请教一下您:
class每次实例化都是会被重新render的吧?我们这里之所以多次实例的结果,都可以全等,是因为class其实自始至终只被new了一次,实例化就是同一块内存空间。
q2:我这样理解是对的吗?
q3:请问单例模式一般是在什么时候应用呢?有啥应用场景
以上有三个问题,希望老师帮我解答一下,谢谢。
写回答
1回答
-
你理解的基本都正确。我举个例子,redux 里面的store,到处都要用同一个数据存储的实例。这时候就可以用单例模式了
00
相似问题