zoukankan      html  css  js  c++  java
  • The Singleton of Design Pattern单态模式

    1 Singleton Definition 单态模式定义
           The main purpose is to gurantee that the instance of class has only one in the application.  some operations, such as connecting to database, are userful for only single instance.
            单态模式的主要作用是保证类的实例只有一个。在很多操作中,比如数据库连接等,这种单实例是很有用的。
     
    2 singleton model单态模型


    3 related singleton model codes:相关单态模式代码
    namespace singleton
    {
        public class singleton{
        private int _counter;
        private static singleton _instance;
        private static object _classLock=typeof(singleton);
        private singleton()
        {
            _counter = 0;
        }
        public static singleton CreateInstance()//global point to service
        {
            lock (_classLock)
            {
                if (_instance == null)
                    instance =
    new singleton();
            }
                return _instance;
          }

        public void Counte()
        {
            lock (_classLock)//exclusive lock
                {
                    _counter++;
                }
        }

         public int Counter
        {    
            get
                {
                    return _counter;
                }
        }
      }

        class Program
        {
            static void Main(string[] args)
            {
                singleton hiron = singleton.CreateInstance();
                hiron.Counte();
                singleton hrg = singleton.CreateInstance();
                hrg.Counte();
                Console.WriteLine(hrg.Counter);
            }    
        }
    }
    excution result:
    instance hiron and hrg will refer to the same instance actually, and the output is 2

  • 相关阅读:
    facebook开源前端UI框架React初探
    javascript中数组的map方法
    处理 InterruptedException——Brian Goetz
    eclipse 打开是报错"reload maven project has encountered a problem"
    Java并发大师Brain Goetz和Doug Lea 的中英文博客文章地址
    修复 Java 内存模型,第 2 部分——Brian Goetz
    修复 Java 内存模型,第 1 部分——Brian Goetz
    正确使用 Volatile 变量——Brian Goetz
    mysql数据备份
    小知识点
  • 原文地址:https://www.cnblogs.com/Winston/p/1183077.html
Copyright © 2011-2022 走看看