美文网首页
使用闭包创建“单例模式”

使用闭包创建“单例模式”

作者: xywait | 来源:发表于2017-07-03 10:27 被阅读0次

单例的好处:单例只会被创建一次,所以不用担心在构造函数里声明了多少个成员。

单体的创建结构:

(function(){

 return {};

})()

我们可以把公用成员添加到单体返回的那个对象中。

例如:

MyNamespace.Singleton = (function(){

      return{

            publicAttribute1:true,

            publicAttribute2:10,

            publicMethod1:function(){};

            publicMethod2:function(){};

     }

})()

优点:这个包装函数创建了一个可以用来添加真正的私有成员的闭包。任何声明在这个匿名函数中(但不在这个返回的对象字面量中)的变量或函数都能被在同一个闭包中声明的其他函数访问。

在单例模式中,你可以享受到真正的私用成员带来的所有好处,而不必付出什么代价,这是因为“单例模式”只会被实例化一次。

惰性实例化

对于资源密集型或者配置开销甚大的单体,也许更合理的做法是将其实例化推迟到需要使用它的时候。

相关文章

  • 使用闭包创建“单例模式”

    单例的好处:单例只会被创建一次,所以不用担心在构造函数里声明了多少个成员。 单体的创建结构: (function(...

  • 单例模式

    单例模式 js中单例模式的实现非常多,原理都是建立一个闭包,然后保存之前创建的对象,如果对象存在的话,就直接把存在...

  • js 闭包实现单例模式

    在学习闭包的时候,想看看闭包如何来实现一个单例模式,可是发现网上百度出来的基本上用闭包实现的单例模式都是错误的,大...

  • 23种设计模式学习总结

    创建型设计模式 主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码合使用代码。 单例模式 单例模式用来...

  • Swift的四种传值方法

    Swift中常用的四种传值方法:单例,单例,闭包(相当于OC的block传值),通知 1单例: 1>.创建单例变量...

  • 单例模式

    本文章采用循序渐进的方式对单例模式进行演化实现。 什么是单例模式,为什么要使用单例模式? 单例模式就是只允许创建一...

  • Glide 源码分析(Version_3.7.0)

    使用方式 with(activity) 使用饿汉式单例模式创建 RequestManagerRetriever /...

  • 单例模式 ,简单工厂,抽象工厂

    1.单例模式 如果一个类始终只能创建一个实例,则这个类成为单例类,这种设计模式称为单例模式 使用单例模式的优势: ...

  • 单例模式

    单例模式 单例模式:用来保证一个对象只能被创建一次。 普通版 代码实现如下 同步锁单例 单例模式如果再多线程中使用...

  • 2018-07-01

    使用MVC模式 创建LodData继承NSObject LodData.h中创建单例模式、解析天气 // 创建单利...

网友评论

      本文标题:使用闭包创建“单例模式”

      本文链接:https://www.haomeiwen.com/subject/xejacxtx.html