1 普通的单例写法

as3中也是这么个写法。

缺点:每个单例类里都要写instance和getInstance。

class Single{private static instance:Single;public static getInstance():Single{if(this.instance == null){this.instance = new Single();}return this.instance;}public run(){}
}
//使用
Single.getInstance().run();

  

2 Module写法。仿照的Egret中Res资源类写法。

优点:不需要使用getInstance,调用更简单

缺点:外部不能直接调用属性,只能调用方法

module Single {var name:string = "Test2";export function run(){console.log(name);}
}
//使用
Single.run();

 3 继承BaseClass

优点:继承后不用写instance和getInstance。

缺点:getInstance()返回值是any!!导致无法用"."号访问其public属性和方法。

class BaseClass {public static getInstance():any {var Class:any = this;if (!Class._instance) {Class._instance = new Class();}return Class._instance;}
}class Single extends BaseClass{public run(){}
}
//使用
Single.getInstance().run();

转载于:https://www.cnblogs.com/gamedaybyday/p/6060424.html

Egret中的三种单例写法相关推荐

  1. android 源码中的单例,Android源码中的一种单例实现

    单例模式的实现方式有懒汉,饿汉,双重校验锁,枚举,内部类等等,写法就不全部列举了.Android源码中有一个单例辅助类/frameworks/base/core/java/android/util/S ...

  2. haproxy中acl的与或非三种規則写法

    haproxy中acl的与或非三种規則写法 当我们在haproxy里面需要使用use_backend或http-request等语句去调用定义过的acl规则时,可以跟平时写程序一样,使用与,或,非三种 ...

  3. .net core 注入中的三种模式:Singleton、Scoped 和 Transient

    从上篇内容不如题的文章<.net core 并发下的线程安全问题>扩展认识.net core注入中的三种模式:Singleton.Scoped 和 Transient 我们都知道在 Sta ...

  4. python选择语句是什么语句_Python语言中的三种选择语句

    本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句.对于每种语句,我们都提供了相应的流程图.与此同时,我们给出许多简单的示例程序,以帮助读者加深 ...

  5. iOS严谨单例写法/可继承单例

    单例模式在iOS开发中可能算是最常用的模式之一了,但是由于OC本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦. 今天就来说一说, 单例创建的方式和严谨的单例写法及可继承单例编写. 基本单例的 ...

  6. 另一鲜为人知的单例写法-ThreadLocal

    另一鲜为人知的单例写法-ThreadLocal 源代码范例 当我阅读FocusFinder和Choreographer的时候,我发现这两类的单例实现和我们寻经常使用双重检查锁非常不一样.而是用来一个T ...

  7. linq拼接where语句_C# 10. LINQ 的三种查询语句写法

    C# 10. LINQ 的三种查询语句写法 前言: LINQ(语言集成查询)是 C#编程语言中的一部分.它在.NET Framework 3.5 和 C#3.0 被引入,在 System.Linq 命 ...

  8. Plotly中绘制三种经典的股票交易图表(含视频讲解)

    作者:Lemon 来源:Python数据之道 Plotly中绘制三种经典的 股票交易图表(含视频讲解) 大家好,我是 Lemon . 背景 前一段时间, Lemon 发了一期视频,分享了 Plotly ...

  9. UiPath中的三种输入法

    UiPath中的三种输入法: 1.Hardware Events(default):分析实现技术,以click为例,先将鼠标移动到目标元素上,然后出发鼠标事件或者win32API的 SendInput ...

  10. 流程控制中的三种结构

    流程控制中的三种结构分别为顺序.分支.循环三种结构. 一.顺序结构 二.分支结构 1.if双路条件结构 if (条件表达式) {语句序列1 } else {语句序列2 } 2.if单路条件结构 if ...

最新文章

  1. spring boot一:入门
  2. python 网格交易源码下载_GitHub - xiongyixiaoyang/grid-trading: 网格交易(期货) ,基于网格交易方法的交易策略...
  3. layer调用父页面方法_Ruby for SketchUp之图层【Layer】
  4. 途牛 “特产频道”上线 深化目的地服务网络
  5. python多重继承_Python多重继承
  6. keepalived详解(一)——keepalived理论基础
  7. Dubbo扩展点机制分析(二)
  8. 计算机主机装机注意,自己组装电脑要注意什么?DIY老司机教你装机注意事项 (全文)...
  9. Python的常用Matplotlib图形工具
  10. 关于二进制与十进制互转的方法(简单好学!)
  11. Ribbon常用配置
  12. 为什么传统的验证码不再安全
  13. Data requirement
  14. HTML+CSS+VUE 简易的便签
  15. 运行webdriver时启动不了浏览器
  16. Word在试图打开文件时遇到错误。 请尝试下列方法: 检查文档或驱动器的文件权限。 确保有足够的内存和磁盘空间。 用文本恢复转换器打开文件。
  17. 【超详细】嵌入式软件学习大纲
  18. 东北大学软件项目管理与过程改进复习提纲(2020)——第十一章《项目风险管理》
  19. AnyConnect win10安装
  20. 青龙面板快手极速版教程第二弹

热门文章

  1. What's New in Qt 5.5 5.4,以及5.5 所有module
  2. [转]人像识别是个伪命题
  3. jquery计算两个日期天数差
  4. BZOJ 4754 [JSOI2016]独特的树叶 | 树哈希判同构
  5. sequence to sequence模型
  6. Shell之根据关键字符串替换文件中的行
  7. 20160403_C++初始化列表与赋值
  8. PHP上传图片重命名6种方案
  9. 深入浅出SharePoint2010——请假系统无代码篇之工作流设计
  10. RichTextBox中插入图片