面向对象的设计原则(2):OCP
来源:互联网 发布:金融业软件开发 编辑:程序博客网 时间:2024/06/07 22:10
太出名了,不再多谈。主要有两点
(1) Open for extension
(2) Closed for modification
Robert.C.Martin举了一个Shape的例子来说明问题。关键的思想是,如果我们预测到了变化,就可以设计一个抽象来隔离它。但是无论模块是如何得"封闭",都会存在一些无法对之封闭得变化。这需要设计人员对于他设计得模块应该对那种变化封闭作出选择,他必须猜测出最有可能发生变化的种类。然后构造抽象来隔离。这种预测能力需要经验的积累!! 并且通常情况下都会猜测错误,怎么办,Martin给我们指出了一条道路:
(1)只受一次愚弄
我们愿意被第一颗子弹击中,然后我们会确保自己不再被同一支枪发射的任何子弹击中
(2) 刺激变化:
第一颗子弹来的越早、越快对我们越有利:首先编写测试,使用很短的迭代周期,尽早、经常的把软件展示给客户
(1) Open for extension
(2) Closed for modification
Robert.C.Martin举了一个Shape的例子来说明问题。关键的思想是,如果我们预测到了变化,就可以设计一个抽象来隔离它。但是无论模块是如何得"封闭",都会存在一些无法对之封闭得变化。这需要设计人员对于他设计得模块应该对那种变化封闭作出选择,他必须猜测出最有可能发生变化的种类。然后构造抽象来隔离。这种预测能力需要经验的积累!! 并且通常情况下都会猜测错误,怎么办,Martin给我们指出了一条道路:
(1)只受一次愚弄
我们愿意被第一颗子弹击中,然后我们会确保自己不再被同一支枪发射的任何子弹击中
(2) 刺激变化:
第一颗子弹来的越早、越快对我们越有利:首先编写测试,使用很短的迭代周期,尽早、经常的把软件展示给客户
OCP是面向对象设计的核心所在,遵循这个原则可以带来巨大的好处,但是肆意的抽象同样不是一个好注意,拒绝不成熟的抽象和抽象本身一样重要!!!
- 面向对象的设计原则(2):OCP
- 面向对象设计领域的OCP原则 收藏 面向对象设计领域的OCP原则
- 面向对象设计的原则--开闭原则(OCP)
- 面向对象设计原则--开闭原则(OCP)
- 面向对象OCP原则
- 面向对象设计原则--开放封闭原则(OCP)
- php面向对象的设计原则之开发-封闭原则(OCP)
- 面向对象OOP的5原则:开放封闭原则--OCP
- 漫谈面向对象设计基石之开闭原则(OCP)
- 面向对象设计—开闭原则(OCP)
- 面向对象的设计原则
- 面向对象设计的原则
- 面向对象的设计原则
- 面向对象的设计原则!
- 面向对象的设计原则
- 面向对象的设计原则
- 面向对象的设计原则
- 面向对象的设计原则
- 20040707今天我还活着
- 大虾的地址:http://blog.csdn.net/AbnerChai/
- WINDOWS核心编程之什么是内核对象(三)
- Java安全通信、数字证书及数字证书应用实践
- 面向对象的设计原则(1):SRP
- 面向对象的设计原则(2):OCP
- 面向对象的设计原则(3):LSP
- 面向对象设计原则(4)DIP
- 【原创】Junit源码分析(-)
- C++中的局部静态对象
- 棋王
- 广州的天!
- 系统进程大全
- asp2jsp tools!