第四章——开放-封闭原则
开放-封闭原则:软件实体(类、模块、函数等等)应该可以扩展,但是不可更改。即对于扩展是开放的,对于更改是开放的。软件设计要容易维护又不容易出问题的最好的办法,就是多扩展,少修改。就是说在设计的时候要尽量让这个类是足够好的,写好了就不要修改了,如果有需求来,我们增加一些类就完事了,原来的代码能不动就不动,即在我们最初写代码时,假设变化不会发生。当变化发生时,我们就创建抽象类来隔离以后发生的同类变化。开放——封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅对程序中出现频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个Good idea。拒绝不成熟的抽象和抽象本身一样重要。