为了账号安全,请及时绑定邮箱和手机立即绑定

开发-封闭原则

开发-封闭原则

小怪兽爱吃肉 2018-11-02 02:03:28
一个类中增加一个全新的方法,这个违背开放封闭原则没有?比方说,现在增加了一个新表而之前这个类只返回了已知表的实例。
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

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

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

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

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


查看完整回答
反对 回复 2018-11-05
?
三国纷争

TA贡献1804条经验 获得超7个赞

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

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


查看完整回答
反对 回复 2018-11-05
  • 2 回答
  • 0 关注
  • 354 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信