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

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

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

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

    具体类图如下

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

    单例模式优点:

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

    缺点:

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

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

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

    具体实现如下,

    饿汉式:

    懒汉式:

  • 相关阅读:
    OpenJ_Bailian
    Codeforces Global Round 2: D.Frets On Fire
    Gym 102035 NWU2019组队赛2.0
    Gym 102035H :Zuhair and the Dag
    Gym 102035E:New Max
    Gym
    Linux常用命令-总结
    Linux常用命令
    Linux常用命令
    分布式会话 拦截器 单点登录
  • 原文地址:https://www.cnblogs.com/wfswf/p/15616421.html
Copyright © 2011-2022 走看看