c \ # 단일 모드 간단 한 예

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/*               ,          */

namespace     
{
    public class Singleton
    {
        //    ,            
        /*    ,       
         * private static Singleton uniqueinstance = new Singleton();
         */
        //            
        private static Singleton uniqueinstance;
        //             ,     
        private static readonly object locker = new object();
        private Singleton()
        { }
        public static Singleton creatinstance()
        {
            //                              ,
            //        ,             
            if (uniqueinstance == null)
            {
                lock (locker)
                {
                    if (uniqueinstance == null)
                    {
                        uniqueinstance = new Singleton();
                    }
                }
            }
            return uniqueinstance;
        }
        public void write()
        {
            Console.WriteLine("hello");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Singleton a = Singleton.creatinstance();
            a.write();
            //  b     uniqueinstance   ,       creatinstance,    a   creatinstance
            Singleton b = Singleton.creatinstance();
            b.write();
            Console.ReadKey();
        }
    }
}

    단일 모델 은 가장 간단 하고 자주 사용 하 는 디자인 모델 로 주로 저장 시스템 의 설정 파일 을 읽 는 데 사 용 됩 니 다. 체계 적 인 학습 디자인 모델 이 없 기 전에 저 는 대부분 정태 류 로 완성 하고 비교, 단일 모델 과 정태 류 를 학습 하 며 각 분야 의 신 들 의 관점 을 정리 합 니 다. 단일 모델 은 주로 몇 가지 장점 이 있 습 니 다.
    1. 초기 화 지연, 초기 화 유연성 이 있 습 니 다.2. 단일 모드 는 다 중 모드 가 있 을 수 있 지만 전체 정적 클래스 는 다 중 모드 를 지원 할 수 없습니다.3, 단일 사례 계승 클래스, 인터페이스 구현
    디자인 모델 을 처음 배 웠 으 니 고양이 에 따라 호 랑 이 를 그 릴 수 밖 에 없습니다. 만약 에 큰 신 이 더 통속 적 이 고 알 기 쉬 운 해석 을 할 수 있다 면 아낌없이 가르쳐 주 십시오. 감사합니다!
참고: 1,https://www.cnblogs.com/zhtao_tony/p/3956047.html
          2,https://blog.csdn.net/fuzhongmin05/article/details/71001857
          3,http://www.cnblogs.com/zhili/p/SingletonPatterm.html

좋은 웹페이지 즐겨찾기