半只蚂蚁 发表于 2015-11-8 14:35:52

面向对象:开放-封闭法则(OCP)

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

             版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 面向对象:开放-封闭法则(OCP)