單體模式
簡介:
單體模式:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
實現思路
如果要求該類只能實例化一次,通常的做法是:
1、 在類中聲明一個標誌變量,用來查看該類是否被實例化。
2、 將該類的構造函數私有化,使其只能在類中訪問。
3、 寫一個靜態方法,用於外面調用實例化類。如果類已經存在則就不再實例化。
實現
這裏用一個person類舉例。
創建一個person類
public class Person
{
private static Person person =null;
private DateTime _birthday=newDateTime(1990,12,12);
public DateTime Birthday
{
get { return _birthday; }
set { _birthday = value; }
}
private Person()
{
}
public static PersonGetInstance()
{
if (person == null)
{
person = new Person();
}
return person;
}
}
在外部調用方法
static void Main(string[] args)
{
Person person = Person.GetInstance();
DateTime birthday = DateTime.Now;
person.Birthday =birthday;
Console.WriteLine("{0:D}",person.Birthday);
//再次的到實例
Person per = Person.GetInstance();
Console.WriteLine("{0:D}",per.Birthday);
Console.Read();
}
運行輸出的都是當前日期,可見是同一個實例。
總結
受以前輩教導:參加工作,要對自己寫的代碼做整理。最好要有自己的代碼庫,不要遇到做過的問題再重新做一遍。