UML Distilled 3rd Edition - UML 精华第三版

来源:互联网 发布:php工厂模式是什么 编辑:程序博客网 时间:2024/06/05 03:56

在「好书分享」中还没推荐过软体设计类的书籍。
而「UML 精华」这本书,可以说是软体设计类的个中翘处! 我极强烈地推荐只要是软体开发、设计人员,都应该要买这一本书来研读。

作者 Marting Fowler 是我个人在软体设计领域的 "偶像",也可以说是在整个软体设计界中,最佳的典范(Paragon)。
他所出版的书籍,涵盖了广度与深度, 从 "Analysis Pattern"、"Refactoring(重构)"、"Patterns ofEnterprise Application Architecture" 以及此本 "UML Distilled" 等。
在没听过 Fowler 之前,从不敢想像有这种 "天纵英才",可以在软体层次从最抽象面至最底层的实做机制面,都能有最深刻的研究与发表。
我个人把 Martin Fowler 视为 "软体业界的达文西"。

至今,他的一句话:「Keeping Software Soft — 把软体做软」,是影响我最深远的一句话。
(试想,若软体设计人员的思维不够柔软,又如何能够把软体 "做" 软呢?)

「UML 精华」这本书已经出到第三版了,基本上,书中的主结构并没有变,当然,主要也是因应 UML 规格(UML 2.0)的演进而随着改版。
不过,我觉得,Fowler 在第三版的内容感觉是更加地 "柔软"。

这本书完全是 Fowler 以口语化的方式来 "叙述" UML,所以,书中其实是充满他的 "主观"。但是,却不会让人感觉不舒服,Fowler 於书中从不措辞强硬来批判与他观点不同的论点。甚至,他会站在其他人的角度来看待同一件事。

这本书与 Craig Larman 的 "Applying UML and Patterns" 一书,可说是软体设计入门学习者的两本最佳参考书籍。
这本书我整个 "抽象" 出来,所表达就是 "观点" 问题;相较於 Larman 那本书,最重要的就是 "Responsibility assign"。

例如,Fowler 把 UML 分为三个层次的 "观点":草稿、蓝图、程式语言。

而他这本书,比较偏向於 "草稿" 的方式来表达 UML 设计。也就是,尽量发挥创意与表达,并非严谨地来规划设计的 UML 语法问题。

而蓝图,则会开始定义较 "工程化" 的面向,可使 UML 图依 "正向工程" 来产出程式。所以,语法上的定义相对就要严谨许多。

而程式语言,则把 UML 直接当作程式语言。亦即,图画完就可以直接利用工具来产出可执行的应用程式。这也是 UML 2.0 所力推的 "MDA - Model Driven Architecture" 所想走的方向。
(Fowler 在本书似乎比较不认同也不看好这个方向。我个人在还没研究 MDA 之前,也思考过这条方向并不理想)

薄薄的一本书,却又能涵盖整个 UML 的 "精髓",其实,Fowler 也是藉由 UML 来说明及叙述软体设计的本质性思维及基本必备的设计观念。

入门者非常适合研读这本书。但相对地,即使许多 "老手" 也不一定能体会这本书的 "精髓"。(尤其是 "观点" 问题)。
这本书就是如此有趣。不管是否是新手、老手,每看一次,都能有不同层次的 "体会"。

另,译者赵光正先生,他在国内软体设计领域的翻译功力,已经是无庸置疑的了。从中文版的内容当中,可以很明显感受到赵先生翻译的用心。尤其,他还会加上他个人的 "译注",很值得参考。

我建议英文版及中文版都要各买一本来保存。当然,要随时能以欣赏的角度来阅读,那是一件非常愉快的事。

原创粉丝点击