单例模式(Singleton)

 

很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。

                 

通常客户端使用这个类是通过new一个AppConfig的实例来得到一个操作配置文件内容的对象。如果在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存在多份配置文件的内容,这会严重浪费内存资源。

事实上,对于AppConfig类,在运行期间,只需要一个对象实例就够了。那么应该怎么实现呢?用C#控制台应用程序实现该单例模式。

 

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace Singleton
 7 {
 8     class AppConfig
 9     {
10         private static AppConfig instance;
11         private string ParameterA;
12         private AppConfig() 
13         {
14         }
15         public static AppConfig GetAppConfig()
16         {
17             if (instance == null)
18             {
19                 instance = new AppConfig();
20                 Console.WriteLine("实例创建成功!");
21             }
22             else 
23             {
24                 Console.WriteLine("实例已存在!");
25             }
26             return instance;
27         }
28         public void SetParameterA(string val)
29         {
30             GetAppConfig();
31             ParameterA=val;
32         }
33         public string GetParameterA()
34         {
35             GetAppConfig();
36             return ParameterA;
37         }
38     }
39     class Program
40     {
41         static void Main(string[] args)
42         {
43             AppConfig.GetAppConfig().SetParameterA("zhanghe");
44             string tmp=AppConfig.GetAppConfig().GetParameterA() ;
45             Console.WriteLine(tmp);
46         }
47     }
48 }

 

posted @ 2012-05-14 21:52  ZH奶酪  阅读(757)  评论(0编辑  收藏  举报