快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

.NET中的设计模式二:单件模式

单件模式(Singleton)是一个异常简朴的模式,这是我第一个理解并且能运用的模式。有时候模式的复杂程度并不在于本身,而是由于他的应用目的。最初的时候面对一个模式常常布满了困惑,一个简朴的调用为什么要搞的如此复杂?为什么要建立这么多类,只是为了打开一个文件。

通常说来学习一个模式是一个接受、认可、领会的过程。接受:了解模式的结构,了解实例的意义;认可:认可该模式在实际工程中的作用和可行性;领会:将模式应用到开发过程中。

而模式的应用目的说到底无非是为了降低模块之间在时间和空间上的耦合程度,以此提高模块的复用性,降低出错的概率。

单件模式

Singleton模式是一个较为简朴的模式,下面的代码就可以建立一个Singlton模式的例子,这是一个写系统日志的类。

public class LogWriter

{

//申明一个静态的变量,类型为类本身

private static LogWriter _instance = null;

 

//将类的构造函数私有化,使得这个类不可以被外界创建

private LogWriter()

{

}

 

//提供静态的方式,创建类的实例

public static LogWriter GetInstance()

{

if (_instance == null)

{

_instance = new LogWriter();

}

return _instance;

}

 

//下面实现类的其他功能

//....

}


调用者不可以通过new的形式得到Singleton的实例,调用的例子如下:

LogWriter log = LogWriter.GetInstance();

log.Debug("hello world");

 


实际应用

很轻易想象,单件模式适用于下面的情况:整个系统中某个对象是唯一的,或者是有固定数量的。比如数据库连接,配置文件,等等……

模式是一种程序员间的约定术语,语言可以成为思维的基础。有了这样的语言,一些复杂的概念就变得轻易交流了。比如设计人员只要说到,某个类是一个单件模式,是一个Singleton,程序员闻声以后就至少应该明白这个类的调用方法了,而不用再具体的说明。






返回类别: 教程
上一教程: .NET之ASP Web Application迅速入门(2)
下一教程: Websharp使用说明(6)

您可以阅读与".NET中的设计模式二:单件模式"相关的教程:
· .NET中的设计模式五:观察者模式
· ASP.NET下MVC设计模式的实现
· 一次重构导向设计模式的实践(.NET)
· Prototype设计模式的实现
· .net 框架程序设计 读书笔记(一)---.net 平台构成
    微笑服务 优质保证 索取样品