`

第三章 单例模式

 
阅读更多

3.1单例(Singleton)模式
  保证一个类仅有一个实例,并提供一个访问它的全局访问点。

3.2单例模式-概述

单件模式是关于怎样设计一个类,并使得该类只有一个实例的成熟模式,该模式的关键是将类的构造方法设置为private权限,并提供一个返回它的唯一实例的类方法。

3.3结构

包括一个角色:单件类(Singleton)


3.4使用

public class Moon{
      private static Moon  uniqueMoon;
      double radius;
      double distanceToEarth;
      private Moon(){
           uniqueMoon=this;
           radius=1738;
           distanceToEarth=363300;
      }     
      public static synchronized Moon getMoon(){   
            if(uniqueMoon==null){
                  uniqueMoon=new Moon();
            }
            return uniqueMoon;
      }
      public String show(){
           String s="月亮的半径是"+radius+"km,距地球是"+distanceToEarth+"km";
           return s;
      }
}

 3.5单例模式-什么时候使用

  • 必要条件
    在一个系统中要求一个类只需要一个实例时才可以被用来作为单例模式,反过来说如果一个类需要多个实例化对象共存那么就不适合单例模式
    回收站是单例模式的体现

3.6单例模式-优点

  • 单件类的唯一实例由单件类本身来控制,所以可以很好地控制用户何时访问它。
  • 节省内存资源
     
  • 大小: 15.8 KB
分享到:
评论

相关推荐

    PHP高级程序设计_模式、框架与测试

     第3章 单例模式和工厂模式  第4章 异常  第5章 PHP 6中的新特性 第二部分 测试和文档编写  第6章 文档编写和编码规范  第7章 反射API  第8章 测试、部署和持续集成 第三部分 SPL(标准PHP库)  第9...

    PHP高级程序设计_模式、框架与测试 PDF及源码

    第一部分 OOP和模式 第1章 抽象类、接口和契约式编程 第2章 静态变量、成员和方法 第3章 单例模式和工厂模式 第4章 异常 第5章 PHP 6中的新特性 第二部分 测试和文档编写 第6章 文档编写和编码规范 第7章 反射API ...

    PHP高级程序设计-模式-框架-测试

    ” ——Amazon.com 目录第一部分 OOP和模式 第1章 抽象类、接口和契约式编程 第2章 静态变量、成员和方法 第3章 单例模式和工厂模式 第4章 异常 第5章 PHP 6中的新特性第二部分 测试和文档编写 第6章 ...

    第1章-第3节(重载、this关键字、构造器、static、final、封装、单例模式).md

    第1章-第3节(重载、this关键字、构造器、static、final、封装、单例模式).md

    Java与模式(清晰书签版) 设计模式 part3

    第3章 软件的可维护性和可复用性 第4章 开闭原则 第5章 专题 JAVA语言的接口 第6章 专题 抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成、聚合复用原则 第11章 迪米特法则 第12章 ...

    java设计模式(电子书)

    第3章单例模式(SINGLETON PATTERN):确保一个类只有一个实例,并提供一个全局访问点。单例模式常用于资源管理,如数据库连接或线程池,确保在整个应用程序中只有一个共享实体。 第4章多例模式(MULTITION PATTERN...

    第04章 面向对象(上) 13 单例设计模式

    在Java中,实现单例模式主要有以下几种方式: 1. **饿汉式(静态常量)**:这是最简单的单例实现,它在类加载时就完成了初始化,所以是线程安全的。但是由于类加载时就创建了单例对象,即使没有被使用也会占用内存...

    刘伟1..25章设计模式大集合

    01_第1章_统一建模语言基础知识.ppt ...第3章_设计模式概述.ppt 第4章_简单工厂模式.ppt 第5章_工厂方法模式.ppt 第6章_抽象工厂模式.ppt 第7章_建造者模式.ppt 第8章_原型模式.ppt 第9章_单例模式.ppt

    Java与模式.清晰.rar

    第3章 软件的可维护性与可复用性 第4章 “开-闭”原则 第5章 专题:Java语言的接口 第6章 专题:抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成/聚合复用原则 第11章 迪米特法则 第...

    24种java设计模式介绍与6大设计原则

    #### 第3章 单例模式(Singleton Pattern) 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点。 ##### 描述 单例模式的主要目的是控制对象的创建过程,确保在整个应用程序中只有一个...

    研磨设计模式(完整带书签).part2.pdf

    第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式...

    研磨设计模式(完整带书签).part1.pdf

    第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式...

    研磨设计模式-part3

    第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式...

    研磨设计模式.part3(共4个)

    第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型...

    研磨设计模式-part2

    第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式...

    研磨设计模式-part4

    第3章 外观模式 第4章 适配器模式(Adapter) 第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式...

Global site tag (gtag.js) - Google Analytics