设计模式--开放封闭原则

开放封闭原则

开放-封闭原则:是说软件主题可以扩展但是不可修改。
特点:对于扩展是开放的,对于更改是封闭的。
在做系统是不可能做到一开始就确定了所有需求,以后不会变化的。只能在需求来临时,做尽量少的更改,不至于整个系统推翻重来。这就需要当变化来临时,我们创建抽象将相似的变化隔离出去。这样面对新的需求,就是添加新的代码,而不是更改现有的代码。
如:实现一个简单计算器功能时,可以只在主函数中实现,当我们需要添加功能时,改动就涉及到了所有的代码,而开放--封闭原则要求对修改是封闭的。如果我们将运算方法抽象分离出去,那么我们添加新的计算方法时,只需添加相应的类,而不需改动原先的代码。这就是对于扩展是开放的,而对于更改就是封闭的。

注意

查明可能发生的变化等待的时间越长,要创建正确的抽象就越困难,你想想某个功能被到处应用,都是相似的代码,此时你再想将其抽象出来,考虑分离,这是很困难的。
开放封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护,可扩展,可复用,灵活性好。开发人员应对哪些可能发生频繁变化的部分做出抽象,分离。然而程序中任何地方都进行刻意的抽象并不是一个好主意,拒绝不成熟的抽象和抽象本身一样重要。

原文地址:https://www.cnblogs.com/tyhA-nobody/p/13191083.html