zoukankan      html  css  js  c++  java
  • 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  
  • 相关阅读:
    发布(Windows)
    Parallel并行编程
    query通用开源框架
    深入了解三种针对文件(JSON、XML与INI)的配置源
    GitLab CI
    雅思创始人Keith Taylor谈英语学习
    查看内存使用情况
    Reverse String
    分布式消息系统jafka快速起步(转)
    深入浅出 消息队列 ActiveMQ(转)
  • 原文地址:https://www.cnblogs.com/huangwentian/p/7471563.html
Copyright © 2011-2022 走看看