您的位置:首页 > 其它

浅析反射、工厂和配置文件

2011-11-08 21:22 330 查看
在任何一种工厂模式中,都无法避免对操作类型的选择,在简单工厂中,判断点存在于简单工厂类中,借助Swith语句来实现;在工厂模式和抽象工厂模式中,判断点存在于客户端。简单工厂模式的优点在于将判断脱离了客户端,但是却违背了“开放封闭原则”,也就是说如果有需求改变时,需要更改应有的类(在简单工厂中添加Switch判断分支)。抽象工厂和工厂模式通过进一步对工厂类抽象出一个公共接口,结合具体子类工厂类,迷补了“开放封闭原则”,但,在新增加功能时,需要在客户端用大量的重复语句指明实例化对象。
两种模式各有优点,但同时又带来了缺陷,那么,有没有一种比较“完美”的模式呢?利用什么原理可以克服这个缺陷呢?

设计模式中提供了两种方法:反射和配置文件。

方法一:反射

反射的原理是:依赖注入,换一种说法叫做传引用而不是传值。传的哪里的引用呢?引用程序集的、命名空间的、某个所需类的引用。这里的传引用要通过字符串变量来实现,而反射的巧妙之处也就是在此处。因为字符串变量不同于直接写明实例化对象,字符串可以通过变量来处理,这无疑增加了程序的灵活性,更加便于维护,而且还可以通过对字符串加密处理来增强程序的安全性,尤其是在对数据库的访问上,安全性显得格外重要。

方法二:配置文件

个人觉得配置文件建立在反射基础之上,二者采用相同的原理——通过变量传引用。配置文件的优越之处在于通过配置文件解决更改封装反射的类的改动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: