开闭原则(OCP)是面向对象设计中“可复用设计”的基石
软件实体应当对扩展开放,对修改关闭
这句话说得略微有点专业,我们把它讲得更通俗一点,也就是:软件系统中包含的各种组件,例如模块Modules、类Classes以及功能Functions等等,应该在不修改现有代码的基础上,引入新功能。
1.开闭原则中“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;
2.开闭原则中“闭”,是指对于原有代码的修改是封闭的,即修改原有的代码对外部的使用是透明的。
当需求发生改变的时候,我们需要对代码进行修改,这个时候我们应该尽量去扩展原来的代码,而不是去修改原来的代码,因为这样可能会引起更多的问题