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 麦机长,保留所有权利。
  • 相关阅读:
    大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之
    Codeforces 385C Bear and Prime Numbers
    CSU1659: Graph Center(最短路)
    新版ADT出现appcompat_v7的问题
    @IBDesignable和@IBInspectable
    FTP命令详解
    R语言屏幕输出
    R语言常用基础知识(入门)
    R语言数据类型转换
    使用建议(内部使用)
  • 原文地址:https://www.cnblogs.com/Autumoon/p/989431.html
Copyright © 2011-2022 走看看