赞
踩
一、单利模式的概念和应用
二、单利模式的应用举例
1、单利模式能解决的问题: 保证对象使用的时候,只有唯一的一个对象
2、单利模式的概念: 单利 模式就是在对象使用中,只有一个对象。基本方法就是提供一个静态访问方法,保证只有一个实例,不会重复创建
3、使用单利模式的好处: 在某些特定情况下可以节省资源,避免性能损失
4、单利模式的应用: 在非关系型数据库中,底层的连接池都会用到
创建一个控制台应用程序SingletonDesignPattern
1、通过new来创建对象时,new几次就执行几次构造方法。示例:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SingletonDesignPattern1 { class Program { static void Main(string[] args) { CommonClass test1 = new CommonClass(); test1.CommonTest(); CommonClass test2 = new CommonClass(); test2.CommonTest(); Console.ReadKey(); } #region 普通类 //创建一个CommoClass类 public class CommonClass { public CommonClass() { Console.WriteLine(DateTime.Now.ToShortTimeString () +"时:构造方法CommonClass()被调用"); //也可以在这个地方做其他资源的访问 System.Threading.Thread.Sleep(4000); } //编写一个测试方法 public void CommonTest() { Console.WriteLine(DateTime.Now.ToShortTimeString()+ ":测试方法CommonTest()被调用"); } } #endregion } }
执行结果:构造方法被执行两次
2、改进这个程序,在单线程模式下使用单利模式来创建两次对象,看构造方法的执行次数
单线程单利模式的三个步骤:
代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SingletonDesignPattern1 { class Program { static void Main(string[] args) { //CommonClass test1 = new CommonClass(); //test1.CommonTest(); //CommonClass test2 = new CommonClass(); //test2.CommonTest(); //测试单线程模式下的单利模式方法 // SingletonClass testClass = new SingletonClass(); 这种方式创建对象将不再可行,因为构造方法被设为私有 SingletonClass testClass1 = SingletonClass.GetInstance(); testClass1.CommonTest(); SingletonClass testclass2 = SingletonClass.GetInstance(); testclass2.CommonTest(); Console.ReadKey(); } #region 普通类 //创建一个CommoClass类 public class CommonClass { public CommonClass() { Console.WriteLine(DateTime.Now.ToShortTimeS
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。