zoukankan      html  css  js  c++  java
  • javascript-单例模式


     单例模式笔记
       也称为单体模式,只允许实例化一次的对象类
       用法:
          1.命名空间:用一个对象来规划一个命名空间,井井有条的管理对象上的属性和方法
          2.静态变量管理:让创建的函数执行一次,创建的对象内保存静态变量通过取值器访问,将这个对象作为一个单例放在全局空间里作为静态变量单例对象供他人使用
          3.惰性单例:有时需要单例对象需要延迟创建,这种延迟创建的形式称之为“惰性创建”
    代码:

     1             //命名空间
     2             var Jt = {
     3                 //管理静态变量
     4                 Conf : (function(){
     5                     var conf = {
     6                         MAX_NUM : 100,
     7                         MIN_NUM : 1,
     8                         COUNT : 1000
     9                     }
    10                     return {
    11                         get : function(name){
    12                            return conf[name] ? conf[name] : null;
    13                         }
    14                     }
    15                 })(),
    16                 //惰性载入单例
    17                 LazySingle : (function(){
    18                     var _instance = null;
    19                     function Single(){
    20                        return {
    21                            publicMethod:function(){},
    22                            publicProperty:'1.0'
    23                         }
    24                     }
    25                     return function(){
    26                         if(!_instance){
    27                            _instance=Single();
    28                         }
    29                     return _instance;
    30                     }
    31                 })()
    32             }

    静态变量测试

    1             var maxNum=Jt.Conf.get('MAX_NUM');
    2             console.log(maxNum);

    惰性单例测试

    1             console.log(Jt.LazySingle().publicProperty);

    控制台显示结果

  • 相关阅读:
    【转】Struts2 和 Spring MVC对比
    【转】JVM介绍
    linux内核阻塞IO
    linux并发concurrency控制
    内核延时
    linux中断编程
    (转)关于java.lang.UnsupportedClassVersionError解决方法总结
    (转) 使用jdk的xjc命令由schema文件生成相应的实体类
    TWS日志查看
    (转)IBM MQ 创建以及常见问题集锦
  • 原文地址:https://www.cnblogs.com/jtnote/p/5984639.html
Copyright © 2011-2022 走看看