zoukankan      html  css  js  c++  java
  • (二十九)设计模式之单例设计模式

     单例模式的思路是:一个类能返回一个对象的引用(并且永远是同一个)和一个获得该实例的方法(静态方法,通常使用 getInstance 名称)。那么当我们调用这个方法时,如果类持有的引用不为空就返回该引用,否者就创建该类的实例,并且将实例引用赋值给该类保持的那个引用再返回。同时将该类的构造函数定义为私有方法,避免其他函数使用该构造函数来实例化对象,只通过该类的静态方法来得到该类的唯一实例。
     
        对于 JS 来说,巨大的灵活性使得其可以有多种方式实现单例模式,使用闭包方式来模拟私有数据,按照其思路可得:
     
    var single = (function(){
         var unique;
         function getInstance(){
             if( unique === undefined ){
                 unique = new Construct();
             }
             return unique;
         }
         function Construct(){
             // ... 生成单例的构造函数的代码
         }
         return {
             getInstance : getInstance
         }
    })();
        以上,unique便是返回对象的引用,而 getInstance便是静态方法获得实例。Construct 便是创建实例的构造函数。
        可以通过 single.getInstance() 来获取到单例,并且每次调用均获取到同一个单例。这就是 单例模式 所实现的效果。
  • 相关阅读:
    Java修炼之道--I/O
    配置tomcat资源文件软连接
    配置tomcat按天输出日志文件
    Ubuntu 安装rabbitmq
    Ubuntu下 JDK、tomcat、redis离线安装
    Nginx+tomcat负载均衡环境搭建
    Tomcat性能调优及性能测试工具配置
    Tomcat搭建https并与APR模式兼容
    IDEA开发工具小技巧整理
    Ubuntu下Nginx+fastDFS环境安装
  • 原文地址:https://www.cnblogs.com/bgwhite/p/9377736.html
Copyright © 2011-2022 走看看