|
|
《冒号课堂》目录 《冒号课堂》目录
- 下篇:抽象机制与对象范式
- 第七课 抽象封装
- §7.1:抽象思维——减法和除法的学问
- §7.2:数据抽象——“做什么”重于“怎么做”
- §7.3:封装隐藏——包装的讲究
- 第八课 抽象接口
- §8.1:软件应变——随需而变,适者生存
- §8.2:访问控制——代码的多级管理
- §8.3:接口服务——讲诚信与守规矩
- 第九课 继承机制
- §9.1:继承关系——继承财富,更要继承责任
- §9.2:慎用继承——以谨慎之心对待权力
- 第十课 多态机制
- §10.1:多态类型——静中之动
- §10.2:抽象类型——实中之虚
- 第十一课 值与引用
- §11.1:语法类型——体用之分
- §11.2:语义类型——阴阳之道
- 第十二课 设计原则
- §12.1:间接原则——柔胜于刚,曲胜于直
- §12.2:依赖原则——有求皆苦,无欲则刚
- §12.3:内聚原则——不是一家人,不进一家门
- §12.4:保变原则——与魔鬼打交道的艺术
- 第十三课 设计模式
- §13.1:创建模式——不要问我从哪里来
- §13.2:结构模式——建筑的技巧
- §13.3:行为模式——君子之交淡如水
- §13.4:闭班小结——软件无形,编程有道
相关文章 请您评分:     (已有 1人评分,平均分为: 5.00 / 5)
Leave a Reply
|
|
最近一直在读冒号课堂,写的很生动,加油!
多谢鼓励!
乔迁大吉:)
谢谢,欢迎有空多来作客!
受益匪浅,期待下篇!
太强了,对编程的理解已经炉火纯青了,佩服佩服
编程之道,可以在这里欣赏到。一定看看软件无形,变成有道。
昨天听说的,今天来学习一下。
楼主的大作什么时候出版呀,期待了很久!
估计在十天之内上市,届时我会第一时间在博客上通知的。谢谢您的关注!
昨天当当订购的书到了。在看第七课,以前一直没搞清楚ADT是什么。
书中若有解释不周之处,敬请指出。
第7,8课很多内容是平时学习OO时感觉不起眼的内容,读了这本书以后才发现自己以前对ADT、封装、访问控制根本不了解。这些东西对做设计是非常重要的,因为只有明白道理才能做出恰当的设计。
真的很不错,我用很短的时间把软件知识都重温并深刻理解了一遍。真的很棒。
继承这一章讲到C++ public, protected, private继承的区别,以前学的时候都只从语法角度知道差别,没有去体会语义差别。其实,只有真正理解了语义,才能恰当地使用。
想请教一下Design by Contract和异常机制之间的关系。例如,下面的dictionary类的put方法把count <= capability作为precondition;与此相对的是不把它作为precondition,而是抛异常。这两种设计之间应如何选择?楼主认为哪种更好?
put (x: ELEMENT; key: STRING) is
– Insert x so that it will be retrievable through key.
require
count <= capacity
not key.empty
do
… Some insertion algorithm …
ensure
has (x)
item (key) = x
count = old count + 1
end
Design by Contract的关键是在系统中建立一种信用机制。如果这种机制得以全面使用,是比抛异常这种defensive programming更简洁、更优雅也更高效的选择。但如果系统中对DbC和defensive programming的使用没有规范化,或者包含来自不同开发组的代码,则为了保证代码的健壮性,通常会采用异常机制。一个比较现实的建议是,在public类的public方法最好包含防御性编码,因为它会有的来自外部的客户,其他的在可控制的范围内尽可能地采用DbC。
另:下次提问最好在“《冒号课堂》意见收集 ”下回复。谢谢!
好的,谢谢!
虽然内容很多了解,但是写的很不错啊
我昨晚做梦都梦见书里的内容了,哈哈
梦见老帽了
呵呵,买了您的书,还堆着没看呢…..
估计假期会有时间.
拜读大作!
看过的最好的一本设计模式的感悟类书籍,贯穿全文的就是区分软件中的变化与不变.然后针对易于变化的软件部分进行防御式设计.
难得的是能够在书中贯穿一些哲学的道理和方法论,非常好.
请问作者有没有出版第二版的打算啊?
如果第一版售罄,那么会出修订版。
请问作者有出第二版的打算么?
您确切的意思是?
不好意思,发重复了
看完了上篇,很开阔视野,收获很大,谢谢作者,这应该是一本常读常新的书。下篇是没有开放是吗?
是的,下篇尚未开放。