原文取自大话设计模式,我这里将其长话短说。
开放封闭原则:对于扩展是开放的,对于更改是封闭的。
作为程序员,进行软件开发时,不要指望需求不会变更,而是要考虑需求改变时如何不让代码推倒重来。
上面的更改指的是我们开发中创建的类、模块、函数等。
进行软件开发设计时,要预先猜测出可能的更改,将其可变化的代码抽象出来(例如之前开发的计算器,我们就将其运算模块抽象出来,以应对将来可能产生的变化)
代码编写初期,尽量抽象化代码以隔绝变化。
代码编写中期,尽量不改变已有代码,而是增加代码面对变化。
代码编写的越多,越难以抽象化代码,除非推倒重来。