🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 原则 open: 模块的行为必须是开放的,支持扩展的,而不是僵化的 closed:在对模块功能进行扩展的时候,不应该影响或大规模的影响已有程序模块 要求开发人员在不修改系统中现有的功能代码(源码代码或者二进制代码)的前提下,实现对应用系统的软件功能的扩展.用一句话概况就是一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的 # 如何遵守开放-封闭思想 实现开放-封闭思想就是对抽象编程,而不是对具体编程,因为抽象相对稳定.让类依赖于固定的抽象,这样的修改就是封闭的,而通过面向对象的继承和多态机制,可以实现对抽象体的继承,通过覆写其方法改变固有行为,实现新的扩展方法,所以对于扩展就是开放的 ![](https://box.kancloud.cn/b745174835d2b05f59e897ef6a925bd5_1395x449.png)