zoukankan      html  css  js  c++  java
  • 单例

    今天不太舒服。。。可是不想断更。

        最近感觉到技术的提高有点迷惘。其实前端东西挺杂,有些地方有时候想不起来倒没什么,做过笔记的就翻一翻,某个bug研究觉得奇怪就查一查。技术博客、论坛帖子看多了就发现内功才是最重要的。

        这时候设计模式就登场了。单例算是最基础最简单的一个设计模式了:

        该类只有一个实例,且提供全局访问点。

        没错,就是上面那句话。

     1 var singleton = (function() {
     2     var instance;
     3     function init() {
     4       //定义私有变量和方法
     5       //...
     6       return {
     7         //返回公有变量和方法
     8         //...
     9       }
    10     }
    11     return {
    12       //对外暴露获取实例的接口
    13       getInstance:function() {
    14         if(!instance){
    15           instance = init();
    16         } 
    17         return instance;
    18     }
    19   }
    20 })()

    上面是个最简单的单例的构建方法,在一个自执行匿名函数中返回单例的接口。

    讲真,刚接触的时候我首先想到的是用单例来实现全局弹窗,但想想觉得完全没必要。后来看到某书中举得单例的例子是创建唯一id呀、web页面行为的计数啊什么的,恍然大悟。但其实,重点还是全局可访问啦,毕竟单个实例节省了开销。vuex的设计思想也是创建一个全局可访问的store,存储共享状态的变量,然后在其他组件中引用这些变量,只是vuex不是一个单纯的单利例而已。

    上次买了本《js设计模式》,硬着头皮看了70%,大半年前的事情了。现在都忘得差不多了。。。。羞愧

  • 相关阅读:
    内存溢出异常
    Java堆中的对象
    运行时数据区域
    字符串常量池
    自己编译JDK
    @PathVariable注解详解
    spring容器监听器
    redis和spring整合
    Redis安装、启动、关闭
    HDU3974 Assign the task
  • 原文地址:https://www.cnblogs.com/alan2kat/p/7450465.html
Copyright © 2011-2022 走看看