单例模式(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 }
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/05/14/2500546.html,如需转载请自行联系原作者

相关文章
|
设计模式 存储
static应用之 单例设计模式(饿汉单例&懒汉单例)
本章我们来学习单例模式中的饿汉单例和懒汉单例,那么什么是单例模式呢?应用该模式的这个类永远只有一个实列,即一个类只能创建一个对象例如电脑上的任务管理器对象只需要一个就能解决问题,可以节省内存空间先定义一个类,把构造器私有如下图,先来看一下没有把构造器私有化的SingleInstance类,此时Test类中可以随意创建多个SingleInstance的实例化。 在SingleInstance类中用private修饰无参构造器,此时左边new方法报错了。我们在右边创建一个静态变量来存储对象,变量名为instan
53 0
|
5月前
|
安全 Java
线程安全的单例模式(Singleton)
线程安全的单例模式(Singleton)
|
6月前
|
SQL 安全 Java
懒汉式单例的3个坑
懒汉式单例的3个坑
|
3月前
|
设计模式 安全 Java
Singleton 的双重检查锁定
【8月更文挑战第23天】
42 2
|
安全 Java
懒汉式单例
懒汉式单例
|
安全 C#
单例模式(Singleton)
单例模式(Singleton)
68 0
单例模式(懒汉和饿汉)——独生子女挺好
单例模式(懒汉和饿汉)——独生子女挺好
|
设计模式 安全 Java
Java设计模式-单例模式(Singleton)
Java设计模式-单例模式(Singleton)
|
安全 Java
单例模式和多例模式(懒汉式和饿汉式)
单例模式和多例模式(懒汉式和饿汉式)
137 0
|
设计模式 存储 安全