首页 > 代码库 > C# 设计模式--单例模式

C# 设计模式--单例模式

     所谓的单例,常常是指在工程中该类Class的实例只允许存在一个,打个简单的比方来讲,在拍摄电影的过程中导演一般只会有一个,而演员会有多个。这一点在游戏的架构设计中体现很明显,比如在Cocos开发过程中你会发现,整个工程中Director类只会出现一个实例,即该实例就是一个单例。

     通过这个简单的描述,相信你会对单例是什么有个基本的理解:

     下面我们将以C#语言为例来实现一个单例:

      在游戏中我们往往会写一个工具类,该工具类主要负责处理一些公用的方法:比如 数据的格式化处理  像13500格式化现实成 13.5K等等。

    

 1 public class Utils {
 2     private static Utils Instance;
 3 
 4     public static Utils getInstance()
 5     {
 6         if (Instance == null)
 7             Instance = new Utils ();
 8         return Instance;
 9     }
10 
11     public string numToFormat(int num)
12     {
13         string Pout = ""; 
14         if (num > 1000) {
15             int kNum = (int)num / 100;
16             Pout = ((float)kNum / 10).ToString () + "k";  
17         } else {
18             Pout = num.ToString ();
19         }
20         return Pout;
21     }
22 
23 
24 }

        当然以上主要是为例方便理解单例,举出简单例子,你也可以去扩展。

        调用时很简单:

string outResult = Utils.getInstance().numToFormat(23400);

  

C# 设计模式--单例模式