首页 > 其他 > 详细

个人理解的单例模式

时间:2014-06-07 21:56:22      阅读:357      评论:0      收藏:0      [点我收藏+]

下面是个人理解的单例模式:

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication6
{
  public  sealed class Singleton
    {
      static Singleton instance;
      /// <summary>
      /// 为了避免实例不唯一,构造方法私有化
      /// </summary>
      private Singleton() { }
      public static Singleton Instance 
      {
          get 
          {
              return instance == null ? new Singleton() : instance;
          }
      }
      public void dd(){
          Console.WriteLine("fdd");
          Console.ReadLine();
      }
     
    }
}
bubuko.com,布布扣

主方法调用如下:

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            Singleton.Instance.dd();
          
            
        }
    }
}
bubuko.com,布布扣

当然这有时候不能保证单例唯一,可以用lock方法来实现如下:

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication6
{
    public sealed class Singleton
    {
        static Singleton instance;
        static readonly object padlock = new object();
      
        public Singleton() { }
        public static Singleton Instance
        {

            get
            {
                if (instance == null)
                {
                    lock (padlock)
                    {
                        if (instance == null) 
                        {
                            instance=new Singleton() ;
                        }
                        
                    }
                   
                }
                return instance;
            }
        }
        public void dd()
        {
            Console.WriteLine("fdd");
            Console.ReadLine();
        }

    }
}
bubuko.com,布布扣

欢迎交流

 

个人理解的单例模式,布布扣,bubuko.com

个人理解的单例模式

原文:http://www.cnblogs.com/huchaoheng/p/3774852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!