第5章 架构设计
“每个系统都有架构,架构所包括的关键抽象和机制定义了从不同涉众的视点所看到的系统的结构和行为,每个架构都有一组不同的关注。对于从习惯用语到机制再到架构的每种情形,这些模式有的是有意的,有的是偶然的,但是只要它们是可见的,这样的模式就能反映出每个系统的风格和内在美。”——Grady Booch,《Handbook of Software Architecture(软件架构手册)》
架构设计把在应用场景和服务质量中所捕获的需求转化为构建令用户满意和高兴的设计。软件架构与建筑架构之间的类比已经无数次地说明了这一点。不过,建筑架构并不是仅由专业建筑设计师的工作组成的,还包括了在模式应用方面的几千年的技术工作。
优秀架构反映出的概念完整性(conceptual integrity)能使架构易于理解、使用、维护和演变。要达到这种概念完整性,对于用于定义系统的主要服务质量和应用场景,通常需要对其正确模式进行选择、应用和特化(specialization)。
虽然对于优秀架构的特征的意见基本上是一致的,但是对于架构设计过程仍然存在着争论。争论的一个极端是架构设计应独立于实现的概念,另一个极端则是架构应该从实现中产生的观点。相应地,有时架构是一个显式的过程,而其他时候它又只是与开发紧密结合的一组活动。
5.1架构的价值增加观点
价值增加的方法断言:架构需要是显式的,但也能从实现中产生,因此,毫无疑问,架构需要与实现同时进行。VSTS遵循了这一观点。在VSTS中,架构设计是源代码的视图,无论代码处于哪种实现状态,对于图、源代码或配置的架构级的重要更新会同步更新架构和实现。
VSTS通过让架构师能够设计待开发软件的架构来支持架构设计的过程,VSTS还能让架构师接触到现有软件架构的各个方面。VSTS关注部署结构(deployment structure),部署结构是从应用的配置的角度来表达,它把应用定义为可部署在一起的多个独立的资源包。
回书目 上一节 下一节 |