开闭原则是Bertrand Meyer在1988年提出的,该设计原则认为:
设计良好的计算机软件应该易于扩展,同时抗拒修改。
换句话说,一个设计良好的计算机系统应该在不需要修改的前提下就可以轻易被扩展。
如果A组件不想被B组件上发生的修改所影响,那么就应该让B组件依赖于A组件。
软件架构师根据相关函数被修改的原因、修改的方式及修改的时间来对其进行分组隔离,并将这些互相隔离的函数分组整理成组件结构,使得高阶组件不会因低阶组件被修改而受到影响。
开闭原则是我们进行系统架构设计的主导原则,其主要目标是让系统易于扩展,同时限制其每次被修改所影响的范围。实现方式是通过将系统划分为一系列组件,并将这些组件间的依赖关系按层次结构进行组织,使得高阶组件不会因低阶组件被修改而受到影响。