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  
  • 相关阅读:
    POSTGRESQL 批量权限 管理方法
    centos7安装rabbitmq
    centos7使用cron任务的相关命令(与centos6有区别)
    crontab定时执行shell脚本
    使用kong-dashboard
    Kong组件构成及使用
    Docker基本操作命令
    微服务写的最全的一篇文章
    centos7安装kong和kong-dashboard
    sql练习03
  • 原文地址:https://www.cnblogs.com/huangwentian/p/7471563.html
Copyright © 2011-2022 走看看