首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》我们谈论组件但编写类

关灯直达底部

人们一般都理解把软件当作少量高层次结构单元来考虑的益处。毕竟,这是在一个软件系统中划分职责的好方法,当人们讨论架构时,你会经常听到他们谈论组件。这就是基于组件的开发2 ,尽管很多人以组件来谈论他们的软件系统,然而代码通常并未反映出这种结构。这就是软件架构和依据原则编码之间会脱节的原因之一:墙上的架构图说的是一回事,代码说的却是另一回事。

2 http://en.wikipedia.org/wiki/Component-based_software_engineering

当你打开一个代码库,由于代码的组织,它往往会反映出另外的结构。软件系统的架构视图和代码之间的映射往往有巨大差异。这就是为什么有时候你会看到人们忽视架构图(或文档),说“代码是唯一的真相”。乔治·菲尔班克斯(George Fairbanks)在《恰如其分的软件架构:风险驱动的设计方法》(Just Enough Software Architecture )3 一书中称之为“模范代码的差距”。代码库的组织真的能帮助或阻碍对架构的理解。

3 http://rhinoresearch.com/book