大话设计模式阅读笔记-开发-封闭原则
1.开发-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改,这个原则其实是有两个特征,一个是对于扩展是开放的,另一个是说对于更改是封闭的。
2.开发-封闭原则的意思就是说,你设计的时候,时刻要考虑,尽量让这个类足够好,写好了就不要去修改了,如果新需求来了,我们增加一些类就完事了,原来的代码能不动则不动了。但是无论模块是多么的封闭,都会存在一些无法封闭的变化,既然不可能完全封闭, 设计人员必须对于他设计的模块应该对哪种变化封装做出选择,他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。
3.猜测软件程序可能发生的变化,猜对了是成功,猜错了,就把本该简单的设计做的复杂了,虽然很难猜测,但我们却可以在发生小变化时,就及早去想办法应对发生更大的变化可能,也就是说,等到变化发生时立即采取行动。在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
4.面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。这就是开放-封闭原则的精神所在。
5.我们希望的是开发工作展开不久就知道可能发生的变化,查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难。就比如加减法运算在很多地方应用了,再考虑抽象、考虑分离就很困难。
6.开发-封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好。开发人员应该仅对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
