介绍一下开放-封闭法则(OCP)。(下面内容来自网络文档) ■开放 - 封闭法则认为我们应该试图去设计出永远也不需要改变的模块。 |
■ 我们可以添加新代码来扩展系统的行为。我们不能对已有的代码进行修改。 |
■ 符合 OCP 的模块需满足两个标准: |
▲ 可扩展,即“对扩展是开放的”( Open For Extension )-模块的行为可以被扩展,以需要满足新的需求。 |
▲ 不可更改,即“对更改是封闭的”( Closed for Modification )-模块的源代码是不允许进行改动的。 |
■ 我们能如何去做呢?面向对象的几大特征综合运用。 |
▲ 抽象( Abstraction ) |
▲ 多态( Polymorphism ) |
▲ 继承( Inheritance ) |
▲ 接口( Interface ) |
■ 一个软件系统的所有模块不可能都满足 OCP ,但是我们应该努力最小化这些不满足 OCP 的模块数量。 |
■ 开放-封闭法则是 OO 设计的真正核心。 |
■ 符合该法则便意味着最高等级的复用性( reusability )和可维护性( maintainability )。
要高质量开发项目时,开放-封闭原则个人感觉是非常重要的,特别是在原型开发模式中,对后期开发或维护都能大大降低学习门槛,降低学习成本,也就最终降低了开发维护成本。 |
面向对象:开放-封闭法则(OCP)
最新推荐文章于 2023-08-26 08:57:40 发布