设计模式学习(一) 单件模式
2007-11-29 10:57
288 查看
一、[/b]单件模式的意图保证一个类仅有一个实例,并提供一个访问它的全局访问点。
二、应用场景
l 每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机。
(摘自吕震宇的C#设计模式(7)-Singleton Pattern)
l PC机中可能有几个串口,但只能有一个COM1口的实例。
l 系统中只能有一个窗口管理器。
l .NET Remoting中服务器激活对象中的Sigleton对象,确保所有的客户程序的请求都只有一个实例来处理。
三、实例
1 1public sealed class Spooler
2sealed class Singleton
2 private Singleton();
4 public static readonly Singleton Instance=new Singleton();
5}
以上两个实例产生的效果相同.但存在多线程时的并发性,安全性, 无法实现延迟初始化等问题.可以查看一下两个网页来了解更多单件模式的知识.
http://terrylee.cnblogs.com/archive/2005/12/09/293509.html
http://www.cnblogs.com/birdshover/archive/2006/06/15/424656.aspx
二、应用场景
l 每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机。
(摘自吕震宇的C#设计模式(7)-Singleton Pattern)
l PC机中可能有几个串口,但只能有一个COM1口的实例。
l 系统中只能有一个窗口管理器。
l .NET Remoting中服务器激活对象中的Sigleton对象,确保所有的客户程序的请求都只有一个实例来处理。
三、实例
1 1public sealed class Spooler
2sealed class Singleton
2 private Singleton();
4 public static readonly Singleton Instance=new Singleton();
5}
以上两个实例产生的效果相同.但存在多线程时的并发性,安全性, 无法实现延迟初始化等问题.可以查看一下两个网页来了解更多单件模式的知识.
http://terrylee.cnblogs.com/archive/2005/12/09/293509.html
http://www.cnblogs.com/birdshover/archive/2006/06/15/424656.aspx
相关文章推荐
- 设计模式中单件模式的学习记录-java
- 设计模式学习(三)单件模式-生成器模式
- 设计模式学习之单件模式(Singleton)
- FreeFrame学习js设计模式之单件工厂模式
- 设计模式学习笔记(二)——Singleton单件模式
- Head First 设计模式学习笔记 —— 单件模式
- 设计模式学习笔记之单件模式
- 学习head first 设计模式之单件模式
- 2.面向对象设计模式学习之Singleton单件模式
- 设计模式学习笔记(十四:单件模式)
- C#面向对象设计模式学习笔记(1) - Singleton 单件模式(创建型模式)
- 设计模式学习笔记:Singleton(单件模式)
- 设计模式学习1—使用单件模式解决对象重复申请问题
- 【设计模式学习笔记】Singleton单件模式
- 设计模式学习笔记——单件模式(Singleton Pattern)
- 设计模式学习之单件模式的静态初始化
- head first 设计模式学习随笔(5)----单件模式
- 【设计模式】学习笔记7:单件模式(Singleton)
- [学习笔记]设计模式[4]-{单件模式}
- 设计模式学习笔记(二)——Singleton单件模式