开放封闭原则(OCP)
- 对扩展开放,对修改关闭
- 类模块应该是可扩展的,但是不可修改
【理解】出现一个变化,不要想着到处修改代码(修改),应该尽量的去添加新的代码(扩展)来实现这个变化
- 在第一个示例(分解的思维模式)中,通过修改来应对新的需求,其实代价是特别大的。在静态语言中,如果改变了源码,就要重新编译该文件,因而还需要重新部署,重新测试
- 但如果是以增加的形式(如第二个示例),就变得方便很多。此时我们只需添加并编译一个Circle文件。将它所对应的dll部署到服务器,测试它所对应的功能即可。不需要重复之前的工作
【总结】当需求变更的时候,我们不应该满街的去修改代码,我们应该先想是否可以通过增加一些东西来满足需求变化。