首页 > 代码库 > 单体设计模式

单体设计模式

单体模式

简单介绍:

     单体模式:保证一个类仅有一个实例,并提供一个訪问它的全局訪问点。

实现思路

     假设要求该类仅仅能实例化一次,通常的做法是:

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();

 

        }


执行输出的都是当前日期,可见是同一个实例。

总结

     受曾经辈教导:參加工作。要对自己写的代码做整理。最好要有自己的代码库,不要遇到做过的问题再又一次做一遍。

单体设计模式