前几讲链接: 1、设计模式杂谈:开头篇 2、设计模式杂谈:创建型模式之工厂方法(Factory Method)
在上一讲“设计模式杂谈:创建型模式之工厂方法(Factory Method)”中,已经通过一个案例对工厂方法进行了讲述。也有不少朋友看了提出了一些建议,确实,在上一讲中,只是简单的讲了工厂方法的用法,但有些地方并不适合于实际应用。主要是最后的创建工厂方法实例时,我把这个工厂方法的创建与该工厂方法创建的具体对象,以及它的执行都放在一起,显然这种做法是错误的,如果这样做的话,还不如直接创建要执行的具体对象,没有必要再搞一个工厂方法进去,有点多此一举的味道,就好象一个包装盒,外面又包了一层,但却并没有起到一定的作用。在这一讲中,在讲单件模式之前,我先对上一讲中的问题进行一些必要的忧化,可能这样会更符合实际的应用。 现在我们再回头看一下上一讲中最后实现的一段代码:
这时我们再来看看,如果要满足美国企业的时候,我们再不需要去改变程序代码,只要修改配置文件App.Config即可:
当然,这里对于客户来说还不是很直观,这个可以再进一步的去忧化配置文件,这里就不再讲述了。 到此为上,经过上述的一系列优化后,已经变得很灵活了,能基本适应美国公司和中国公司的需求。 好,我们现在转到正题(呵,好象也不是什么正题了)。下面我们来看一下创建型设计模式的单件模式,其实这个模式是比较特殊的一种,也是最好理解的。顾名思义,就是只创建一个实例,这在一些特定的场合是非常有用的,比如说最常见的,就是我们进行数据库操作时必须要创建的一个sqlConnection对象,由于数据库连接都是通过这个对象来操作的,所以我们没有必要创建该对象的多个实例,只创建一个就可以了,这样即节省资源又可以避免一些异常的发生,更容易控制。 其实,在程序开发中,我们已经在不知不觉的使用单件模式了。最简单的就是使用static关键字定义对象,其实这就是一种单件模式了。常见的单件模式的样式如下代码所示:
posted on 2006-12-11 14:18 李.net 阅读(1821) 评论(9) 编辑 收藏 所属分类: Design & Pattern
Powered by: 博客园 Copyright © 李.net