单例模式番外篇
Posted luanfujian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式番外篇相关的知识,希望对你有一定的参考价值。
单例模式的实现方式,“江湖”上常用的招式就是先判断存在者,如果存在者存在,则不创建新的存在者,直接返回已存在的存在者;如果存在者不存在,则创建新的存在者;在写web一个对话Dialog时,突然想到,这个dialog需要保持全局唯一,这时候除了用到上面的方法外,其实还可以在创建新dialog之前移除旧有的dialog dom元素,以保持全局唯一。亦即先销毁存在者,再创建新的存在者。
亦即:
1.判断创建方式
2.销毁创建方式
(是否有其他的方式?)
这两种方式在不同的场景下特点不同:
比如Java、Js中:Java中的对象是通过垃圾回收期处理的,Js也是仿照处理。虽然程序员可以通过手动消除引用为null,但在堆内存中的对象还需等待处理。所以经常用到的单例模式实现方式为第一种方式。
另外:像在C系语言、web中html的元素,前者可以直接操作内存,后者可以直接操纵html dom,除了使用第一种方式外,还可以使用第二种方式。
但是这两种方式是各有特点,在实现时需要考虑是否需要保持状态,时空复杂度等。
以上是关于单例模式番外篇的主要内容,如果未能解决你的问题,请参考以下文章
应粉丝邀约,写一篇单例模式在Unity的实际应用,记得一键三连哦