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%,大半年前的事情了。现在都忘得差不多了。。。。羞愧

  • 相关阅读:
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言|博客作业04
    C语言|博客作业02
    第二周作业
    第一周作业
    学期总结
    作业01
    C语言I博客作业09
  • 原文地址:https://www.cnblogs.com/alan2kat/p/7450465.html
Copyright © 2011-2022 走看看