很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。
通常客户端使用这个类是通过new一个AppConfig的实例来得到一个操作配置文件内容的对象。如果在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存在多份配置文件的内容,这会严重浪费内存资源。
事实上,对于AppConfig类,在运行期间,只需要一个对象实例就够了。那么应该怎么实现呢?用C#控制台应用程序实现该单例模式。绘制该模式的UML图。
私有静态变量,公有静态函数
public class Appconfig
{
private static string ParameterA;
//定义一个只读静态对象
//且这个对象是在程序运行时创建的
Appconfig() { }
public static string GetInstance()
{
//第一重 singleton == null
if (ParameterA == null)
{
Console.WriteLine("创建对象");
ParameterA = "aa";
}
else
{
Console.WriteLine("直接调用");
}
return ParameterA;
}
}
class Program
{
static void danlimoshi()
{
Console.WriteLine(Appconfig.GetInstance());
Console.WriteLine(Appconfig.GetInstance());
}
static void Main(string[] args)
{
danlimoshi();
}
}