《架构之法》阅读笔记04

 架构师必须做出许多设计决定,对于软件系统,这些设计决定包括行为上的和结构上的:外部行为描述展示了产品如何与它的用户、其他系统和外部设备进行交互,这应该表现

为需求;结构描述展示了产品如何划分为多个部分,以及这些部分之间的关系;内部行为描述,用于描述组件之间的交互接口。

 

系统的结构会反映出构建它的组织的结构。反过来也成立

常见的重要架构结构:信息隐藏结构、使用结构、进程结构、访问结构

信息隐藏结构:模块A的秘密是模块B的秘密的一部分,那么A就是B的一部分(两个程序共享一个秘密时,他们才属于同一个模块)

使用结构:如果程序B必须存在并正常功能,A才能正常工作,就说模块A使用了模块B。使用结构中如果包含环,还里的所有模块都必须存在且正常工作。如果不包括环,则就是层次结构。层次结构要求:一个层次要比其上个层次快9倍,使用频率高9倍

访问结构:如果两个段被同一组程序访问,那他们就该合并

对于一组给定的功能需求和品质需求,没有唯一正确的架构

架构有两种评估方法:确定架构属性(性能建模评估性能、失效数模型评估可靠性和可访问性等)、对架构师提出质询

软件系统就像由建筑和后面的路构成的城市

坏的设计会招致在它上面叠加坏的设计

软件设计的关键品质是内聚和耦合。

好的设计会限制通信的线路,只提供那些绝对需要的

只设计你知道需要的东西

形式永远服从功能

XP没有贬低设计,它贬低的是不必要的工作

YAGNI:如果你不是马上需求,就不要去做

不要在还不知道需求的情况下就作出架构决策,不要猜测

posted @ 2017-02-11 21:09  木子金帛  阅读(102)  评论(0编辑  收藏  举报