首页 新闻 会员 周边

开发-封闭原则

0
[已解决问题] 解决于 2009-07-02 10:36

一个类中增加一个全新的方法,这个违背开放封闭原则没有?

比方说,现在增加了一个新表而之前这个类只返回了已知表的实例。

Sgvon的主页 Sgvon | 菜鸟二级 | 园豆:202
提问于:2009-06-22 15:17
< >
分享
最佳答案
0

增加了一个新表,是否可以这样考虑:

表是变化的,应该进行封装。抽象出一个表接口,原有类不再返回表的实例,而是返回表的接口。这样新增加表的时候,只需要新建一个实现了表接口的新类,就不会涉及对原有类的修改了。

这样就符合开放封闭原则了,对扩展开放(扩展一个实现了表接口的新类),对修改关闭(不修改原有类)。

其实主要还是看变化的原因是什么,什么容易产生变化,就对什么进行封装。表有很多种,是容易产生变化的,那么就对表进行封装。

麒麟.NET | 老鸟四级 |园豆:3614 | 2009-06-23 13:54
其他回答(1)
0

开放封闭原则...就是对外开发、对内封闭。

对一个类的修改,恐怕谈不上什么原则吧。对内封闭,就是避免对类的修改。

邢少 | 园豆:10926 (专家六级) | 2009-06-22 17:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册