极高明而道中庸
全书谈得是软件开发中最“抽象”的东西,但是没有一点故弄玄虚的感觉,实实在在的心得体会,看得出作者的底子非常的扎实,没有这类书通常有的人云亦云,语焉不详,故弄玄虚的弊病。层层推进,剥茧抽丝。 对话体用的也很成功。
这本书让我原先对软件设计很多似是而非、似懂非懂的概念搞得很清楚,对待一些问题的切入点也改变了,理解更加透彻。 另外作者用设计原则驾驭设计模式的想法当是不刊之论。
全书主要分成两个部分,第一部分对各种编程范式的介绍,读起来很畅快的感觉。 进入第二部分后开始了比较困难的议题,OOP思想和设计原则,这部分属于需要精读的部分,好在作者处理的很好,条理很清晰。 称的上极高明而道中庸了。
唯一感觉不太协调的章节是最后的设计模式章节,当初不知道是赶稿还是别的什么原因,此章失了娓娓道来之风,把自己的理解一股脑的倒出来,高明自然是高明,相对前面的章节失了“中庸”之体了。 对设计模式有一定认识后,再看此章可能效果好点。
最后真的很感谢作者写了这样一本书,大家需要这种实实在在厚积薄发的作品。 盼望作者将来能继续分享自己经验,比如专门为设计模式再出一本书,以弥补本书对设计模式走马观花的遗憾。
2010-02-22 12:32:13 郑晖
作为作者,首先非常感谢您细致的评论。
您提到的设计模式章节,的确有赶稿的原因,所以行文显得比较仓促。 除了时间方面的原因外,篇幅也是一个原因。 如果对每个设计模式都细述的话,这本书就太厚了。 另外一个原因是,设计模式方面的书太多,所以不想炒冷饭。
不过最主要的还不是以上的客观因素,而是本书的构想。 本书写设计模式,主要是为设计原则服务的。 如果读者能充分理解设计原则,那么他将会发现那些设计模式往往是水到渠成的推论。 用软件设计的话来说,这样更符合DRY(Don't Repeat Yourself)原则。 当然,相比前面的章节,这种写法确实有些过于DRY(干燥)了,所以您感到不太协调也在情理之中了。
2010-02-22 16:15:36 仨儿
可惜国人被学校训练的已经没有什么耐心跟随这种抽丝拔茧式的思辨式学习了...
2010-02-22 22:51:36 Todd
>>盼望作者将来能继续分享自己经验,比如专门为设计模式再出一本书,以弥补本书对设计模式走马观花的遗憾。
本书是OOP,我倒是期望能再专门讲OOD和OOA。
2010-02-23 14:31:17 PandaHermit
2010-02-22 16:15:36 仨儿
可惜国人被学校训练的已经没有什么耐心跟随这种抽丝拔茧式的思辨式学习了...
恩,不过这个论题是难点,大多是似是而非的讨论,说清楚这些东西不但要经历很多不同项目的历练(自己做设计),而且理论功底还要扎实。 这样的人能够系统的把自己的东西贡献出来真的很难的。
现在的人都喜欢“立竿见影”,有耐心看书的人本来就少,都喜欢泡网上一下学学这个,一下学学那个的。
2010-02-22 22:51:36 Todd
>>盼望作者将来能继续分享自己经验,比如专门为设计模式再出一本书,以弥补本书对设计模式走马观花的遗憾。
本书是OOP,我倒是期望能再专门讲OOD和OOA。
Todd兄所言甚是,确实系统的整理OOD和OOA的部分更好些,毕竟设计模式的书确实太多了。 不过我想OOD,OOA,OOP很多原则的上的东西都是一样的,就是角度不一样,如果作者再写很可能把书写㑩嗦了。
还是希望作者在博客上能多分享,哪怕零碎地一点内容,等积累到一定量再系统整理出本新书,或者出本书的第二版。
2010-02-23 18:23:32 郑晖
>>还是希望作者在博客上能多分享,哪怕零碎地一点内容,等积累到一定量再系统整理出本新书,或者出本书的第二版
谢谢,你的建议也正是我的想法。
目前博客更新的频率之所以较低,一个主要原因是不想简单地发表关于某些局部知识的文章。 我希望为读者呈现的是自己所理解的知识整体,而不是知识片段。 从某种意义上说,这或许是一种自我矛盾:一方面,在《冒号课堂》中强调不必过分拘泥于知识的系统性和完备性;另一方面,仍然希望自己的文章尽可能地系统些、完备些。