设计模式之-----单件(singleton)

using System;
namespace CSDesingPattern
{
 class Singleton
 {
  private static Singleton mInstance;
  private int x = 0;  
  private Singleton(){}
  public static Singleton GetObject()
  {
   if (mInstance == null)
    mInstance = new Singleton();
   return mInstance;
  } 
  public void SetX(int newVal)
  {
   x = newVal;
  }
  public int GetX()
  {
   return x;
  }
  static void Main(string[] args)
  {
  
   int val;
   Singleton s1 = Singleton.GetObject();
   Singleton s2 = Singleton.GetObject();
   Console.WriteLine("将Singleton对象中的X设置为10");  
   s1.SetX(10);
   val = s2.GetX();
   Console.WriteLine("使用第二个Singleton变量读取X的值 x={0}", val);
   Console.ReadLine();
  }
 }
}

  • 设计要求:

    定义静态成员(指示自身类)

    private static Singleton mInstance;

    定义静态创建函数:

    public static Singleton GetObject()
      {
       if (mInstance == null)
        mInstance = new Singleton();
       return mInstance;
      } 
    用处:保持一个或固定个数的实例:如Asp.Net里的Application
posted on 2004-06-01 15:45  edobnet  阅读(1244)  评论(4编辑  收藏  举报