zoukankan      html  css  js  c++  java
  • 设计模式 单例模式

    单例模式(Singlton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类简称单例类。

    单例模式实现的要点有三个:

    • 某个类只能有一个实例
    • 单例类必须自行创建这个实例
    • 单例类必须自行向整个系统提供这个实例
    • 单例模式需要拥有一个私有构造函数,去报用户无法通过new关键字直接实例化它

    具体类图如下

    表明单例类自己拥有自己为对象属性,具体实现流程为,客户调用getInstance()方法来获取一个对象,当第一次获取时则新建一个对象,如果不是第一次获取则返回已有的对象。

    单例模式优点:

    • 提供了唯一实例的受控访问
    • 节约系统资源
    • 允许可变数目的实例

    缺点:

    • 单例类职责过重,即充当工厂角色,又充当产品角色
    • 滥用单例会带来一些负面影响

    单例模式有两种类型分别为饿汉式单例类懒汉式单例类:

    饿汉式单例类是在类被加载是就实例一个对象,而懒汉式是在调用对象时再将其实例化

    具体实现如下,

    饿汉式:

    懒汉式:

  • 相关阅读:
    LNMP状态管理命令
    Gogs基本使用介绍
    初探Asp.net请求机制原理 1
    关于css定位
    JS不同浏览器图片载入处理
    js之队列01
    javascript 快速排序
    JavaScript prototype背后的工作原理
    关于javascrpt if快速判断说明
    js动态加载图片核心代码
  • 原文地址:https://www.cnblogs.com/wfswf/p/15616421.html
Copyright © 2011-2022 走看看