难得的好书
全书分三篇,第一二篇围绕着“需求进,架构出”的主题,最后一篇则介绍了从程序员到架构师所需的思维突破和知识面。
IT是最能制造名词和缩写的行业,然而其中如架构、框架等抽象名词的含义则见仁见智,不一而足。此书通过分门别类,从不同的维度清晰明了地阐释了架构、子系统、框架以及它们之间的差异和关联关系。还有对需求、设计模式等进行了完整的分类。这是一项了不起的工作。
此书全面论述了架构设计的来龙去脉,告诉我们架构设计从哪里开始,到哪里结束,其中经历了哪些阶段,输出了哪些工件,它在整个软件开发生命周期中的位置,以及与其它活动之间的关系等。并简要介绍了各种切实可行的技术,如需求分类法、用例技术、鲁棒图和5视图法等。这对新老架构设计师都具有很好的导向作用。
架构、模式和设计等均是非常抽象的课题,难以言传,更难以书面表达。然而难能可贵的是,由于作者流畅的文笔,同时辅以简洁的插图,加上作者的实战背景,使得读者能较轻松地理解和消化,读起来并不空洞乏味。
此书的话题覆盖面很广,从需求分析和架构设计的过程与具体技术,到面向对象分析与设计、敏捷设计、设计模式、UML乃至软件开发方法学。知识的含量和浓度不可谓不高。然而此书的“规模”才三百多页,但其中任意一个话题都足以催生一部大部头,因此它仅是对理论和经验的高度浓缩,大部分的主题都只是抽其骨髓,点到为止,如需具体,需另寻它径。故要读懂此书,要求读者具备全面的知识面和相当的实战经验。
作者似乎深受RUP的影响,言及软件过程几乎必引用Ivar Jacobson的言论和RUP的思想。对于目前已如日中天的敏捷,架构设计如何在其中运作,则少有谈及。对此话题的遗漏,不得不为此书感到惋惜。(注:此书出版时敏捷已流行多年)
可以看出作者对面向对象是颇有造诣和喜爱的,然而可能正由于此,在此书只推崇了面向对象,而无视其它的编程范型,或者说解决问题的思维方式。虽然面向对象很“主流”很“核心”,相对于面向过程的确是一种超越,然而面对不同领域的问题,架构师应该能因地制宜地采用最合适方式来解决,比如函数式编程,面向组合和DSL等等。
无论如何,如此能把实践经验和抽象理论相结合的高质量书籍,且出自国人之手,实属难得,非常值得所有关注软件技术的人员来精读。
如果你有5年以上的开发设计经验,想提升到更高的技术层次,戴上当今坊间最为炙手可热的 “架构师”头衔的话,此书能让你了解到路在何方,从而少走很多弯路。
如果你是刚入行的新手,此书很可能让你“高来高去”,不知所云。建议实战几年后再来看,那样才会有切身的体会,才有更大的共鸣和收获。
如果你的工作经验已经很丰富,自认为是技术高手,或想成为那样的人,然而此书却让你觉得云里来雾里去,难以理解个中的许多概念,甚至没有了解过相关领域,那建议阁下最好重新思考一下自己的职业生涯。
IT是最能制造名词和缩写的行业,然而其中如架构、框架等抽象名词的含义则见仁见智,不一而足。此书通过分门别类,从不同的维度清晰明了地阐释了架构、子系统、框架以及它们之间的差异和关联关系。还有对需求、设计模式等进行了完整的分类。这是一项了不起的工作。
此书全面论述了架构设计的来龙去脉,告诉我们架构设计从哪里开始,到哪里结束,其中经历了哪些阶段,输出了哪些工件,它在整个软件开发生命周期中的位置,以及与其它活动之间的关系等。并简要介绍了各种切实可行的技术,如需求分类法、用例技术、鲁棒图和5视图法等。这对新老架构设计师都具有很好的导向作用。
架构、模式和设计等均是非常抽象的课题,难以言传,更难以书面表达。然而难能可贵的是,由于作者流畅的文笔,同时辅以简洁的插图,加上作者的实战背景,使得读者能较轻松地理解和消化,读起来并不空洞乏味。
此书的话题覆盖面很广,从需求分析和架构设计的过程与具体技术,到面向对象分析与设计、敏捷设计、设计模式、UML乃至软件开发方法学。知识的含量和浓度不可谓不高。然而此书的“规模”才三百多页,但其中任意一个话题都足以催生一部大部头,因此它仅是对理论和经验的高度浓缩,大部分的主题都只是抽其骨髓,点到为止,如需具体,需另寻它径。故要读懂此书,要求读者具备全面的知识面和相当的实战经验。
作者似乎深受RUP的影响,言及软件过程几乎必引用Ivar Jacobson的言论和RUP的思想。对于目前已如日中天的敏捷,架构设计如何在其中运作,则少有谈及。对此话题的遗漏,不得不为此书感到惋惜。(注:此书出版时敏捷已流行多年)
可以看出作者对面向对象是颇有造诣和喜爱的,然而可能正由于此,在此书只推崇了面向对象,而无视其它的编程范型,或者说解决问题的思维方式。虽然面向对象很“主流”很“核心”,相对于面向过程的确是一种超越,然而面对不同领域的问题,架构师应该能因地制宜地采用最合适方式来解决,比如函数式编程,面向组合和DSL等等。
无论如何,如此能把实践经验和抽象理论相结合的高质量书籍,且出自国人之手,实属难得,非常值得所有关注软件技术的人员来精读。
如果你有5年以上的开发设计经验,想提升到更高的技术层次,戴上当今坊间最为炙手可热的 “架构师”头衔的话,此书能让你了解到路在何方,从而少走很多弯路。
如果你是刚入行的新手,此书很可能让你“高来高去”,不知所云。建议实战几年后再来看,那样才会有切身的体会,才有更大的共鸣和收获。
如果你的工作经验已经很丰富,自认为是技术高手,或想成为那样的人,然而此书却让你觉得云里来雾里去,难以理解个中的许多概念,甚至没有了解过相关领域,那建议阁下最好重新思考一下自己的职业生涯。
有关键情节透露