注:摘自《敏捷软件开发:原则、模式与实践》(Robert C. Martin)
对于LSP可以做如下解释:
子类型(subtype)必须能够替换掉它们的基类型(base type)
Barbara Liskov首次写下这个原则是在1988年。她说到,
这里需要如下替换性质: 若对每个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序P行为功能不变,则S是T的子类型。
OOD中IS-A关系是就行为方式而言的,行为方式是可以进行合理假设的,是客户程序所依赖的。
基于契约设计(Design By Contract DBC), ...
注:摘自《敏捷软件开发:原则、模式与实践》(Robert C. Martin)
遵循开放封闭原则设计出的模块具有两个主要的特征。
1、“对于扩展是开放的”(Open for extension)
这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。换句话说,我们可以改变模块的功能。
2、“对于更改是封闭的”(Closed for modification)
对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。
OCP原则关键是抽象。
但对于应 ...
- 浏览: 5994 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
我的相册
2006国米全家福
共 3 张
共 3 张
最近加入圈子
最新评论
-
cxf+spring+struts2的hell ...
<import resource="classpath:META-INF/ ...
-- by qianlei007 -
cxf+spring+struts2的hell ...
好文章,把CXF应用Struts2+Spring框架的快速上手文档!Eclips ...
-- by zzuizui -
window下配置Tomcat5.5和 ...
<Directory "D:/Tomcat5.5/webapps/dogo ...
-- by zaife






评论排行榜