您的位置:首页 > 其它

一次运用设计模式对现有系统进行重构的尝试(二)

2008-11-03 10:01 323 查看
关于这次尝试的实践在上次发文后(/article/7081679.html),得到了几位朋友(木野狐(Neil Chen)T2噬菌体等)的指点,在这里再次感谢你们的热心帮助。

[b] [b] [b]思考

[/b][/b][/b] 上次对于不同的产品入库用简单工厂模式重构后,就象朋友们所说,这个设计确实很不灵活:如果有新的产品(如原材料)入库作业,那么需要修改的地方太多了:工厂类,具体类...实际上违背了面向对象的设计原则:开放封闭原则。

经过学习思考后,认识到:这里的设计实际上还违背了依赖倒置原则:依赖于抽象,而不要依赖于具体实现。而简单工厂模式就存在这个弊端。

为了解决这个问题,我对此设计进行了再次重构:工厂方法模式

运用工厂方法模式再次重构

Code

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<appSettings>

<add key ="CellFactory" value ="CellFactory"/>

<add key ="ModFactory" value ="MODFactory"/>

</appSettings>

</configuration>
我想利用反射来完成的话,客户端对具体的工厂操作也被抽到Config文档中配置完成,这样在以后的维护中会更加灵活。比如,如果具体工厂名称有变化,只要改动Config文档即可,Client端无需更改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: