zoukankan      html  css  js  c++  java
  • 单例模式番外篇

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

    亦即:

    1.判断创建方式

    2.销毁创建方式

    (是否有其他的方式?)

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

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

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

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

  • 相关阅读:
    Intersection
    B-number
    Intersecting Lines
    Segments
    G. Swapping Places
    Toy Storage
    TOYS
    哈密顿绕行世界问题
    java试题复盘——11月25日
    java试题复盘——11月13日
  • 原文地址:https://www.cnblogs.com/luanfujian/p/13236382.html
Copyright © 2011-2022 走看看