串起珍珠的项链
- 评 《UML和模式应用》第三版
陶达其
面向对象技术无疑是当今最为流行的软件设计方法,而且在今后的很长一段时间内,都将是占据业界的主流.正因为如此,几乎每位程序员都有过曾经学习面向对象设计思想经历或者正在开始学习面向对象思想.
不知道各位是如何开始的面向对象之旅,我记得我学习面向对象编程是从C++ 编程思想开始第一步的,可以说从实践中摸索.之后更加深入学习便是从GoF的那本设计模式 可以说很多人都是从同样的学习过程中走过来的。如果你也刚刚开始学习面向对象的理论,那太好了,不必在像我一样“摸石过桥”, 从我建议你放下手中的其它书籍,跑到书店,先买一本 最新的《UML和模式应用》第三版(以下简称 《U模》3),因为只有这样,你才能更快更好的理解面向对象的精髓,才能更加游刃有余的把OO思想运用到实践中。
本书被包括Martin Fowler等无数大师评价为OO设计的最佳入门书籍,从亚马逊的众多读者评论上,我们也可以清晰地看出这一点,初学者刚刚开始学习面向对象的时候,常常容易被时髦的技术吸引,设计模式,重构,UML,敏捷编程,分析模式,每一种技术好像都像是面向对象技术上的一个珍珠,当我们努力学习了这一切所有技术,认为自己终于修炼完毕,成为“面向对象”的武林高手了。
然而当我们接触到真实世界的案例的时候,却发现自己甚至不能动手开工,因为自己根本不知道从那里开始,不知道把现实的需求变成OO代码应该遵循什么样的流程,不知道如何进行系统分析,不知道开发应遵循什么样的项目流程,虽然我们每项技术都很熟练。这是因为我们的知识缺少了一个系统的结构,这些技术珍珠缺少一个将他们串在一起的一个链子。
Craig Larman 《U模》3的就是起了这样一个关键的角色,它像一根链子一样把各种面向对象技术有机的结合起来,让你的知识结构成为完整的一体。
读者在读这本书的时候,隐约会有一种空虚的感觉,因为书中没有深入介绍某一种具体的技术。 而是围绕着两个“
NextGen POS
系统” 和 “
Monopoly
游戏系统”的案例,从需求分析循序渐进的开始,经过一次次的迭代,渐入的引入了需求分析,用例模型 领域模型,设计模式,重构,迭代开发 等几乎全部的面向对象知识。读者随着作者的这个案例最终完成,也把自己的面向对象 的技术从头到尾来了一遍“三军大演习”,真正的在实战中从项目开始到代码完成演练了一个完整的案例.
值得一提的是:虽然本书赞誉不断,作者Craig Larman却没有因此而停步不前,从本书的第一版到第三步, 作者一直不遗余力地大幅度更新书的内容.
从书的副标题可以清晰的看出这一点.
1.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design (1e)
2.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2e)
3.
Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3e)
软件工程界一直是活跃的,不断有新的思想迸发,Craig Larman 深知这一点,每一次更新,不仅对前一版进行更正和改进,并且加入最新的软件工程的技术,使得本书一直紧跟时代。
第三版的更是加入了敏捷思想和迭代开发,使得本书不仅含有经典的OO 分析,还包含了最新流行的OO分析技术和项目管理成果.
对这本书的介绍,多为最佳的OO入门教科书,其实这本书远远不止入门这么简单,书中涉及了众多的技术,用例技术,需求获取,领域模型,设计模式,UML,签约式编程,GRASP 模式,敏捷建模等等,而且运用了一个实例有机结合了起来,我想即使对每种技术都很熟悉的OO开发人员,对如何把这些技术联系起来也缺少系统的知识,这本书就能起到这样的作用.并且本书并不是像教科书那样说教,作者Craig Larman围绕实例来说明问题,给读者以感性上的认识。
在《U模》3当中,处处闪现着充满了智慧的简约明言,这些大多是作者对多年软件开发的精髓的体会和感悟,我在读这本书的时候经常会被这样语句拍案叫绝。:比如
(1)分析和设计被概括为:做正确的事(分析),正确的做事(设计)。
(2)最关键的软件开发工具是受过良好设计原则训练的思维,而不是UML或任何其他技术
这样的句子在排版上都被粗体字或者方框标示,阅读的时候碰到这样句子,你就要提醒自己多读两遍,然后仔细地体会一下这些软件开发的至理名言,相信你也会被作者生动而精辟的描写而打动的.
可能很多读者在读完这本书感到很不过瘾,因为书中对太多技术均有涉及,不可能对每种技术进行深入的探讨,Craig Larman 也看到了这点, 在每一章的最后,都有供读者进一步深入的书籍列表.对于国内已经引进的书籍译者都体贴地加以了注释。当然 Craig Larman 推荐的书都是每个领域响当当权威之作,读者如果想深入了解某一方面的主体,不需要去网上搜索,只需按图索骥便可,在我看来,单单这份书单,就已经赚回这本书一半的价格了.
从第一版到第三版,这本经典著作机械工业出版社都已经引进了,不过直到第三版,封面才改成了跟英文原版相同经典的封面,不像前面两版,使用系列书籍雷同的页面,很容易淹没在良莠不齐的丛书当中,本书还有配套的中文站点
http://www.craiglarman.cn/ 在上面你可以找到丰富教学资料和Craig Larman 的其他文章. 《U模》3译者的翻译中规中矩,建议大家阅读中文版,毕竟中文的阅读速度远远大于英文。
还是开头的那段话,如果你现在正在学习OO技术,希望你先拿起《U模》3这根黄金项链,然后再去采摘其他珍珠,然后把这些珍珠一个个串到这根项链上。如果你已经学习了很多OO技术,也请你拿起这本书,把这些你这些散乱的珍珠,用《U模》3串成一个完整的项链,最终完成自己的OO珍珠项链。
相关图书信息:
《UML和模式应用(原书第3版)》