• 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  
  • 相关阅读:
    230 Kth Smallest Element in a BST 二叉搜索树中第K小的元素
    229 Majority Element II 求众数 II
    bzoj1112: [POI2008]砖块Klo
    bzoj2958: 序列染色&&3269: 序列染色
    bzoj2743: [HEOI2012]采花
    bzoj4247: 挂饰
    bzoj3613: [Heoi2014]南园满地堆轻絮
    bzoj3280: 小R的烦恼
    bzoj1221: [HNOI2001] 软件开发
    bzoj4320: ShangHai2006 Homework
  • 原文地址:https://www.cnblogs.com/huangwentian/p/7471563.html
Copyright © 2020-2023  润新知