单体设计模式

单体模式

简介:

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

实现思路

     如果要求该类只能实例化一次,通常的做法是:

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

 

        }


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

总结

     受以前辈教导:参加工作,要对自己写的代码做整理。最好要有自己的代码库,不要遇到做过的问题再重新做一遍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值