上节我们讲到数据对象创建的管理,那么如何管理数据访问类的对象创建呢?先从为什么需要设计模式的原理说起吧

 

为了更好的理解设计思想,我尽可能的用实例来演示推进。但随着需求的增加,程序将越来越复杂。此时就有修改设计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现,即使需求不断增加,你也可以神清气闲,不用为代码设计而烦恼了。

 

 

 

Code

 我们修改上面的两个抽象类,让它们实现上面的Inormal,如下:

 

Code

通过上面的分析,我们现在可以让导演来指派该谁上场了:如下:

 

Code

 

Code

 

这些讨厌的switch语句又出现了,有没方法把这些烦烦的switch消掉呢。我们来努力一下,该是让工厂模式来生产对象的时候了:

 

Code

 

 这样,由工厂模式直接创造出对象,比如:乔峰,段誉,王语嫣等,下面就可以这样调用了:

            IcreateFactory i = new qiaofengCreate();
            i.CreateObject().strike();
通过以上方法我们部分的消除了switch语句,因为总是要用条件去判断到底该实例化哪个类。幸运的是,.net给我们提供了一种非常好的机制来消除这种现象,这就是利用类名反射,我们来看一下如何做:

首先,在web.config文件中添加如下配置:

 

 

Code

 然后动态根据类名反射,从而动态实例化类,如下:

 

Code

那么,上面的switch或工厂模式可以统统丢掉了,我们仅需要将以上的.Category改为qiaofeng,wangyuyan等,另外改一下配置文件中的目录即可。

好了,这个系列二分析了面向对象的封装,继承,抽像,接口,工厂模式,下一系列我们将这种思想活用于架构中,敬请期待

 

 

posted on 2009-02-24 21:24  jasonM  阅读(327)  评论(0编辑  收藏  举报