• JavaScript中的设计模式:单例模式


    定义

    单例模式就是一个类只能实例化一个对象,并且提供了一个访问它的全局访问点。

    一般在实现登陆框,或者一个全局的控制器都会用到单例模式。现实中有window对象,线程池,全局缓存等。

    简单实现

    var Person = function(name){
        this.name = name;
        this.instance = null;
    };
    Person.getInstance = function(name){
        if(!this.instance){
            this.instance = new Person(name);
        }
        return this.instance;
    }

     种类

    单例模式的实现由很多种方法,他们也有不同的作用。

    1.用代理实现的单例

    有时候,如果想让一个类既可以通过代理创建一个实例,又可以使用普通的方法new很多实例,这种情况就会用到代理。

    var Person = function(name){
        this.name = name;
    };
    var CreatePerson = (function(){
        var instance;
        return function(name){
            if(!instance){
                return new Person(name);
            }
            return instance;
        }
    });

     上面代码中,如果我们要创建一个实例,就用createPerson来创建,如果像普通对象一样,就用new创建。

    2.惰性单例

    其实开始介绍的简单单例模式即是惰性单例,也就是说,这个实例在需要的时候才会创建。而不是一开始就创建。

     
  • 相关阅读:
    backup-rsync主机配置
    msyqldump备份
    会话固定攻击(session fixation attack)
    正确理解 Session 的安全性
    Yii自定义辅助函数
    php缓冲机制及嵌套级别 ob_get_level
    method_exists 与 is_called
    给类动态添加新方法
    PHP Closure(闭包)类详解
    PHP Closure(闭包)类详解
  • 原文地址:https://www.cnblogs.com/bdbk/p/4988891.html
Copyright © 2020-2023  润新知