首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

开闭原则的困惑?该如何解决

2012-03-26 
开闭原则的困惑?我明白开闭原则的意思,而且知道修改一个已经测试好的代码,会引出bug,所以这里用开闭原则,

开闭原则的困惑?
我明白开闭原则的意思,而且知道修改一个已经测试好的代码,会引出bug,所以这里用开闭原则,扩充一个方法,而不是修改一个放法,我的问题是为一个方法创建一个类,是不是有点奢侈?


下面是一个需求的例子,大家看看改如何做?

有个页面用于显示最近发生的所有事件(什么开门事件,打电话事件啊等),
第一次:客户说想通过时间过滤掉一些事件方便查看

第二次:客户说想通过事件类型(比如发生事件是保安系统、公寓系统,还是大门系统,一个字段记录三种类型)滤掉一些事件方便查看

第三次:客户说想要给过滤出的事件进行分页

第四次:客户说想要对结果进行排序,例如按时间排序、按事件类型排序、按描述排序

问题是
1.我已经做的前三次的,发现我的方法接受的参数越来越多,而且有可能客户还会有新需求,我还要加参数

2.是不是最好不修改第三次的代码?修改那个我怕引出bug,但修改第三次的代码最简单

3.我也想过用装饰模式,但发现满足不了需求,因为如果先分页,在对所有条件过滤,那数据就不正确了

[解决办法]
嗯,挺好的,^_^。要是有多种查询(事件、消息、记录等等),这个就会更有意义一些,Condition接口有不同的实现对应不同的查询条件来生成SQL,呵呵。

现在的确思考设计原则的人不多了,希望以后多多交流,呵呵

热点排行