设计模式

来源:互联网 发布:php 开源crm 编辑:程序博客网 时间:2024/05/17 09:44

设计模式

  • 设计模式
    • 单例模式
      • 应用的场景
      • 作用
      • 分类
        • 饿汉模式
          • 实现步骤
        • 懒汉模式
          • 实现步骤
        • 饿汉模式与懒汉模式的区别

单例模式

应用的场景

有些对象只需要一个就足够了, 如:古代的皇帝

作用

保证应用程序中,某个实例有且仅有一个

分类

  • 懒汉模式
  • 饿汉模式

饿汉模式

实现步骤

第1步:创建一个类:Singloten

第2步:将此类的构造方法私有化 -> 不允许外部直接创建对象

private Singloten() {}

第3步:创建类的唯一实例,使用private static 修饰

private static Singloten instance = new Singloten();

第4步:提供一个用于外部获取实例的方法,使用 public static修饰

public static Singloten getInstance() {    return instance;}

懒汉模式

实现步骤

第1步:创建一个类:Singloten

第2步:将此类的构造方法私有化 -> 不允许外部直接创建对象

private Singloten() {}

第3步:声明类的唯一实例,使用private static 修饰

private static Singloten instance;

第4步:提供一个用于外部获取实例的方法,使用 public static修饰

public static Singloten getInstance() {    if (null == instance) {        instance = new Singloten();    }    return instance;}

饿汉模式与懒汉模式的区别

区别 饿汉模式 懒汉模式 造成区别的原因 加载类时速度 比较慢 比较快 加载时类是否创建:饿汉模式需创建所以慢,懒汉模式不需要创建所以快 运行时获取类速度 比较快 比较慢 类是否已创建:饿汉模式已创建所以快,懒汉模式未创建需创建所以慢 线程安全 安全 不安全
0 0