zoukankan      html  css  js  c++  java
  • 2.5 Singleton(单件)

    【返回目录】

    用面向对象的术语来描述人类的话,我们每个人都是人类这个类的一个实例,当然,如果细分的话还可以在人类下面分出很多子类,不过我们要说的重点不是这个类的层级划分。我们都知道,毛主席也是人类的一个实例,但是无论西方人、东方人还是非洲人都不可能忽视毛主席,他们一提到中国,可能首先想到的就是“毛主席”这三个字,其它的每个中国人在他们眼里可能就不那么招眼,在他们看来无非是黄皮肤黑头发的一个人而已,虽然毛主席也是这样的特征,但是他们却把他很清晰、很明确地分离出来,作为中国人的象征。作为中国乃至世界的伟人,全人类只有一个毛主席,虽然我们也常说“我就是我”,表明这世界上“只有一个我”,但我说过了,在别人眼里,我们可以忽略不计。“毛主席”可以很好地解释什么是Singleton(单件模式)。

    单件模式表示,一个类有且仅有一个实例,任何用到该类对象实例的地方都是在调用或操作这个类唯一的实例,比方说尼克松访华会见的不是每一个中国人而是毛主席。请看代码:

       1: using System;
       2:  
       3: namespace Autumoon.DesignPatterns.AbstractFacotry
       4: {
       5:     public class Human
       6:     {
       7:         public string Name { get; set; }
       8:     }
       9:  
      10:     public class Chinese : Human
      11:     {
      12:         private static Chinese _instance = null;
      13:         public static Chinese Instance
      14:         {
      15:             get { return ((_instance == null) ? _instance = new Chinese { Name = "Zedong Mao" } : _instance); }
      16:         }
      17:     }
      18: }

    毛主席是中国人的象征,所以人们一提到中国人就不由得首先想到毛主席:

       1: static void Main(string[] args)
       2: {
       3:     Console.WriteLine(Chinese.Instance.Name);
       4:  
       5:     Console.ReadLine();
       6: }
    Chairman
    转载请注明出处。版权所有©1983-2021 麦机长,保留所有权利。
  • 相关阅读:
    jquery遍历table的tr获取td的值
    Java判断文件、文件夹是否存在
    项目搭建系列之三:SpringMVC框架下使用Ehcache对象、数据缓存
    J2EE课程设计:在线书店管理系统
    项目搭建系列之二:SpringMVC框架下配置MyBatis
    使用Git(msysgit)和TortoiseGit上传代码到GitHub
    安卓课程设计:微课表
    项目搭建系列之一:使用Maven搭建SpringMVC项目
    常用markdown语法
    [转]优秀程序员应该做的几件事
  • 原文地址:https://www.cnblogs.com/Autumoon/p/989431.html
Copyright © 2011-2022 走看看