结构重于内容
这是本讲软件架构的实用性书,同时,这也是本架构非常好的书,但由于涉及内容实在太广,所以内容和架构相比显得过于单薄。
本书由三大部分组成,第一部分是软件架构的概念,属于理论性部分;第二部分是软件架构本身;第三部分是架构师的各人技能。这个分类一下子把软件架构的众多技术分解为架构技术和个人技能两部分,非常赞。
架构概念非常简单,通过众牛人对软件架构的诠释,作者总结了架构的两个功用:软件组成和决策,两者都对,并不冲突,这是作者非常聪明的地方,一下子就缓解了大家的矛盾,并且把所有的观点都汇集到统一的框架之下。
软件架构本身,又分为方法和过程两部分。方法既架构的五个视图:物理架构、逻辑架构、数据架构、开发架构和运行视图。过程则分为六个步骤:需求分析、领域建模、确定关键需求、概念性架构设计、细化架构和验证架构。其中概念性架构的作用是规划关键问题的解决策略;细化架构就是生成那五个视图。就像开头说的,这部分内容实在太广,作者只是谈了一些他的经验,实际内容严重不足。
个人技能无非就是从编码,设计,UML工具,软件过程四个不同层次来谈,而在设计方面又举了几个解耦合的例子,包括理解依赖关系、角色理论和设计模式等。
总的来说,这本书的结构非常好,内容可以按照这个架构通过其他书籍慢慢补充。
本书由三大部分组成,第一部分是软件架构的概念,属于理论性部分;第二部分是软件架构本身;第三部分是架构师的各人技能。这个分类一下子把软件架构的众多技术分解为架构技术和个人技能两部分,非常赞。
架构概念非常简单,通过众牛人对软件架构的诠释,作者总结了架构的两个功用:软件组成和决策,两者都对,并不冲突,这是作者非常聪明的地方,一下子就缓解了大家的矛盾,并且把所有的观点都汇集到统一的框架之下。
软件架构本身,又分为方法和过程两部分。方法既架构的五个视图:物理架构、逻辑架构、数据架构、开发架构和运行视图。过程则分为六个步骤:需求分析、领域建模、确定关键需求、概念性架构设计、细化架构和验证架构。其中概念性架构的作用是规划关键问题的解决策略;细化架构就是生成那五个视图。就像开头说的,这部分内容实在太广,作者只是谈了一些他的经验,实际内容严重不足。
个人技能无非就是从编码,设计,UML工具,软件过程四个不同层次来谈,而在设计方面又举了几个解耦合的例子,包括理解依赖关系、角色理论和设计模式等。
总的来说,这本书的结构非常好,内容可以按照这个架构通过其他书籍慢慢补充。
有关键情节透露