`
xiandaoyan
  • 浏览: 22310 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

单例模式学习笔记

阅读更多

单例模式确保一个类只有一个实例,而且自行实例化,向整个系统提供这个实例。它的三个特点:

    A.只能有一个实例;

    B.它必须自行创建这个实例;

    C.它必须自行向整个系统提供这个实例。

单例模式分为饿汉单例模式和懒汉单例模式,它们的类图如下:

类图结构

饿汉模式类图

 

      类图结构

懒汉模式类图

饿汉单例类与懒汉单例类的区别:

    A.饿汉单例类在自己被加载时就将自己实例化,而懒汉单例类是在被调用时再实例化。

    B.饿汉单例类对资源的利用率较懒汉单例类要低。

    C.饿汉单例类在速度和响应时间较懒汉单例类要快。

使用单例模式的条件:在一个系统要求一个类只有一个实例是才应该用单例模式。

 

注意事项:

    1.在分散式系统中,单例类不一定只有一个实例,所以在分散式系统中尽量不要使用有状态单例模式;

    2.工厂模式与建造者模式可常与单例模式配合使用;

    3.不完全单例类不推荐使用;

    4.单例类与静态全局变量的优势在于:可以有较复杂的内部逻辑,可以有继承关系等;

    5.属性管理器经常可以用单例模式来实现。

          

    参考文献:《Java与模式》,阎宏,第十五章.

<!--EndFragment-->

0
0
分享到:
评论

相关推荐

    17-Java单例模式的学习笔记1

    Java 单例模式是一种设计模式,它用于保证一个类只有一个实例,并提供全局访问点。这种模式在需要控制类的实例化次数,或者当类的创建是昂贵的操作时非常有用。以下是对不同单例实现方式的详细说明: 1. **懒汉式**...

    《C++20设计模式》学习笔记-第5章单例模式

    《C++20设计模式》学习笔记-第5章单例模式

    设计模式学习笔记大全

    以上就是压缩包中的设计模式学习笔记涉及到的主要内容。通过对这些模式的理解和应用,开发者可以更好地解决软件设计中的问题,提升软件的质量和可维护性。每种模式都有其适用场景,理解其背后的意图和应用场景是关键...

    C#设计模式–单例模式

     近在学设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二...

    23种设计模式学习笔记

    这个“23种设计模式学习笔记”文档将引导你深入理解这些模式,并帮助你在实际编程中有效地应用它们。以下是对23种设计模式的详细解读: 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。它常用于控制...

    多例模式学习笔记

    **多例模式学习笔记** 在软件设计模式中,多例模式(Multiton)是一种扩展了单例模式的设计模式。单例模式确保一个类只有一个实例,而多例模式则允许一个类有多个实例,但通常数量是有限的。这种模式常用于资源管理...

    HeadFirst设计模式学习笔记

    《HeadFirst设计模式学习笔记》是一份详尽的资料,旨在帮助读者深入理解并掌握设计模式这一编程领域的核心概念。设计模式是软件工程中的一种最佳实践,它在解决常见问题时提供了一种标准的解决方案,使得代码更易于...

    C#设计模式学习笔记

    C#设计模式学习笔记是一份详尽的资源,适合任何希望深入了解如何在C#编程中应用设计模式的开发者。这份笔记涵盖了多种设计模式,旨在提升代码的可读性、可维护性和可扩展性,这些都是软件开发中至关重要的要素。 ...

    《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析

    本文实例讲述了Javascript面向对象程序设计单例模式原理与实现方法。分享给大家供大家参考,具体如下: 1.单例模式概述 源自百度百科对于单例模式的定义: 单例模式的意思就是只有一个实例。单例模式确保某一个类...

    23种设计模式学习笔记及源码

    这个压缩包文件包含了23种设计模式的学习笔记和源码,旨在帮助开发者深入理解并熟练运用这些模式。以下是对每种设计模式的详细解释,以及它们在Java编程中的应用。 1. **单例模式**:确保一个类只有一个实例,并...

    Java设计模式学习笔记.pdf

    5. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。 6. 对象池模式:可以重用对象,尤其是当对象的创建成本较高时。 简单工厂模式是创建型模式的一种,它提供一个专门的工厂类用于创建对象,将对象的...

    设计模式学习笔记

    ### 设计模式学习笔记 #### 一、简单工厂模式 (Simple Factory) **类图与描述:** 简单工厂模式的核心在于存在一个工厂类,这个工厂类能够根据不同的输入参数返回不同的对象实例。简单工厂模式并不涉及继承关系,...

    #资源大人分享计划# 设计模式学习笔记.rar

    在这个“#资源大人分享计划# 设计模式学习笔记.rar”压缩包中,我们可以期待找到一系列关于设计模式的详细学习资料,包括定义、类图、代码示例以及各种使用场景,这些都将帮助我们深入理解并掌握设计模式。...

    设计模式学习笔记及其模式特点总结

    单例模式确保一个类只有一个实例,并提供全局访问点。这种模式常用于控制资源的共享,如数据库连接池。实现单例有多种方式,如饿汉式(静态常量)、懒汉式(线程不安全)、双重检查锁定(DCL)以及枚举方式,其中...

    PHP 面向对象程序设计(oop)学习笔记(三) – 单例模式和工厂模式

    单例模式和工厂模式是两种常见的设计模式,它们在实际开发中有着广泛的应用。 **单例模式**的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这在某些场景下非常有用,比如管理共享资源、数据库连接或者...

    Head.First 设计模式学习笔记.pdf

    ### Head.First 设计模式学习笔记知识点总结 #### 一、设计模式概述 设计模式是一种用于解决软件设计中常见问题的标准化方法。通过采用设计模式,开发者可以提高代码的复用性、灵活性和可维护性。《Head First 设计...

    Java 版设计模式学习笔记-java-design-patterns.zip

    这个“Java版设计模式学习笔记”涵盖了多种设计模式,旨在帮助开发者更好地理解和应用这些模式。让我们深入探讨一下其中可能包含的关键知识点。 一、单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问...

Global site tag (gtag.js) - Google Analytics