• GoF23种设计模式之创建型模式之单态模式


    1概述

            保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    2适用性

    1.当类只能有一个实例而且客户可以从一个总所周知的访问点访问它的时候。

    2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例的时候。

    3参与者

    Singleton:定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类的操作,可能复杂创建它自己的唯一实例。

    4类图

    5示例

    Singleton

    [java] view plain copy
     
     print?
    1. package cn.lynn.singleton;  
    2.   
    3. public class Singleton {  
    4.   
    5.     private static Singleton instance;  
    6.   
    7.     private Singleton() {  
    8.     }  
    9.   
    10.     public static Singleton getInstance() {  
    11.         if (instance == null) {  
    12.             instance = new Singleton();  
    13.         }  
    14.         return instance;  
    15.     }  
    16.   
    17. }  

    Test

    [java] view plain copy
     
     print?
    1. package cn.lynn.singleton;  
    2.   
    3. public class Test {  
    4.   
    5.     public static void main(String[] args) {  
    6.         Singleton instance1 = Singleton.getInstance();  
    7.         Singleton instance2 = Singleton.getInstance();  
    8.   
    9.         System.out.println(instance1);  
    10.         System.out.println(instance2);  
    11.         System.out.println(instance1 == instance2);  
    12.     }  
    13.   
    14. }  

    Result

    [java] view plain copy
     
     print?
      1. cn.lynn.singleton.Singleton@175d6ab  
      2. cn.lynn.singleton.Singleton@175d6ab  
      3. true  
  • 相关阅读:
    MySQL 数据库入门操作
    select count(*)和select count(1)
    Oracle instr 及 like
    myeclipse添加svn
    Lanucherr 默认显示第几屏
    【毕设】班级管理系统——易搜
    【毕设】班级管理系统——找回密码模块
    【毕设】班级管理系统——登录模块
    【毕设】班级管理系统——系统介绍
    快速生成扇形图
  • 原文地址:https://www.cnblogs.com/huangwentian/p/7471563.html
Copyright © 2020-2023  润新知