单例模式番外篇

Posted luanfujian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式番外篇相关的知识,希望对你有一定的参考价值。

单例模式的实现方式,“江湖”上常用的招式就是先判断存在者,如果存在者存在,则不创建新的存在者,直接返回已存在的存在者;如果存在者不存在,则创建新的存在者;在写web一个对话Dialog时,突然想到,这个dialog需要保持全局唯一,这时候除了用到上面的方法外,其实还可以在创建新dialog之前移除旧有的dialog dom元素,以保持全局唯一。亦即先销毁存在者,再创建新的存在者。

亦即:

1.判断创建方式

2.销毁创建方式

(是否有其他的方式?)

这两种方式在不同的场景下特点不同:

比如Java、Js中:Java中的对象是通过垃圾回收期处理的,Js也是仿照处理。虽然程序员可以通过手动消除引用为null,但在堆内存中的对象还需等待处理。所以经常用到的单例模式实现方式为第一种方式。

另外:像在C系语言、web中html的元素,前者可以直接操作内存,后者可以直接操纵html dom,除了使用第一种方式外,还可以使用第二种方式。

但是这两种方式是各有特点,在实现时需要考虑是否需要保持状态,时空复杂度等。

以上是关于单例模式番外篇的主要内容,如果未能解决你的问题,请参考以下文章

看完这篇单例模式还不懂的话,你来打我!

python学习第十篇单例设计模式

应粉丝邀约,写一篇单例模式在Unity的实际应用,记得一键三连哦

应粉丝邀约,写一篇单例模式在Unity的实际应用,记得一键三连哦

设计模式-单例模式-指令重排思考

Struts2--番外篇