码迷,mamicode.com
首页 > 其他好文 > 详细

个人理解的单例模式

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

标签:c   style   class   blog   code   java   

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

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

个人理解的单例模式

标签:c   style   class   blog   code   java   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!