《面向对象的原则、模式、语言及框架(五)》的相关内容
相关讨论
OO—现实与实现的分歧
最近在和朋友做一个小的系统,对系统进行设计时与朋友的理念有所冲突,于是乎就想起了一个老问题,那就是正方形与长方形的继承问题。
OO可以说是现实世界在计算机世界的一个映射,而对于正/长方形,实际上是对正/长方形数学定义在计算机的一个映射的问题。
首先我们来看看在现实中,长方形的定义:
有一个直角的平行四边形是长方形。
再来看看判定定理:
定理1:有三个角是直角的四边形是长方形。
定理2 ...
by calmness 2007-03-04 浏览 (8600) 回复 (32) 关键字:
相关博客
Liskov替换原则(LSP)
注:摘自《敏捷软件开发:原则、模式与实践》(Robert C. Martin)
对于LSP可以做如下解释:
子类型(subtype)必须能够替换掉它们的基类型(base type)
Barbara Liskov首次写下这个原则是在1988年。她说到,
这里需要如下替换性质: 若对每个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序P行为 ...
by zaife 2008-01-15 浏览 (148) 回复 (0) 关键字:
[转]里氏代换原则
从上一篇的“开-闭”原则中可以看出,面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化。这个导出要使用继承关系和一个原则:里氏代换原则(Liskov Substitution Principle LSP)。
那么什么是里氏代换原则呢?有个严格的表述,绕口,不好记。还 ...
by aladdin_leon 2006-12-26 浏览 (519) 回复 (0) 关键字: 面向对象
OO的五大原则中的 LSP(zt)
OO的五大原则中的 LSP(里氏替换原则)
现将近期整理的文档提供给大家,这里对LSP做重点的介绍,望对大家有帮助,在学习和使用OO设计的时候,我们应该明白:OO的出现使得软件工程师们能够用更接近真实世界的方法描述软件系统。然而,软件毕竟是建立在抽象层次上的东西,再怎么接近真实,也不能替代真实或被真实替代。
OO设计的五大原则之间并不是相互孤立的。彼此间存在着一定关联,一个可以是另一个 ...
by guohui_fz 2008-01-18 浏览 (146) 回复 (0) 关键字:
相关圈子讨论
关于数学结构的介绍性文章
从集合大小的定义到数学结构
异调
一、古怪的定义
“自然数和正偶数,哪一种数更多?”(正偶数是指能被2整除,大于零的自然数。本文中规定0不是自然数。)
“自然数和正偶数一样多,因为将n和2n对应就可以得到自然数到正偶数的一个一一对应。既然每一个不同的自然数都对应而且只对应一个不同的正偶数,所以自然数和正偶数一样多。”许多朋友会这样说,这当然是对的;但是也有许多朋友会觉得奇怪,并 ...
by Trustno1 2007-03-24 浏览 (1208) 回复 (1)
Groovy无痛AOP之旅
Groovy无痛AOP之旅
http://www.infoq.com/cn/articles/aop-with-groovy
http://www.infoq.com/cn/articles/aop-with-groovy
http://www.infoq.com/cn/articles/aop-with-groovy
http://www.infoq.com/cn/articles/aop-wi ...
by shiren1118 2007-11-22 浏览 (369) 回复 (0)
dxpcom v0.1 发布
由于windows上一直遇到DLL加载失败的问题,所以测试是在linux上进行的。
dxpcom v0.1下载地址
包括对xpidl的修改,增加了-m d选项,用来产生d接口。-m dwrap选项还在编写中,生成的代码现在还无法使用。
mozilla/xpcom/*.d大部分是用修改过的xpidl生成的,另有一些是使用htod工具转换的。
有空可以帮我测试一下,目前还不保证转换完全正确,但 ...
by qiezi 2007-04-16 浏览 (10370) 回复 (161)
相关新闻
Scala和设计模式
在当前软件设计中最流行的要算GoF这本书中提出的各种设计模式。很多人认为,设计模式对于程序语言(特别是c++/Java)本身的不足之处或多或少有一些弥补,不过如果语言足够强大,模式也许没有必要。下面Peter Norvig的一个例子就非常有代表性。在有些语言中,使用设计模式在使代码变得自然和简洁,但是模式本身使用方便性也很重要。不妨让我们来看看Scala(一种类似Ruby/Lisp之类 ...
by yuesc 2008-04-01 浏览 (523) 回复 (0) 关键字:
SPProcPool 0.5 发布
SPProcPool 是一个 linux/unix 平台上的进程池服务器框架,使用 c++ 实现。
在 0.5 版中增加了一个类似 apache worker 的服务器模型。在之前 Leader/Follower 模型的基础上,在每个子进程中使用一个固定大小的线程池来为每个请求服务。这个模型的特点是能够支持较高的并发连接数。
项目主页:
http://code.google.com/p/spp ...
by iunknown 2008-01-05 浏览 (353) 回复 (0) 关键字: 进程池 prefork
XJ: 一个扩展Java语言的方案
Java历来是一种以不变应万变的语言。在Java 5中,annotation的引入使得Java在某些特殊的应用场合(如企业应用)中能够进行定制。Annotations 可被看作是用Java核心技术来定义的"领域特定语言"(Domain Specific Languages,DSLs)。
Annotation本质上是一种 name-value 形式的绑定,仅限于它们所能表达的意义。它们不能定义新的 ...
by levis2000 2008-04-16 浏览 (1084) 回复 (3) 关键字: extensible java
推荐知识库条目
Comming soon

