知识卡片
专注架构设计的核心要求
内容
专注架构的设计要求寻求”全局性”的架构层面解决方案,而非”头痛医头脚痛医脚”——例如统一约定获取锁的顺序避免死锁,而非每次死锁后单独修复。它往往需要用架构层面的抽象(组件、连接器)和视图(模块/运行时/部署视图)来表述问题:像”独立线程中的组件需要线程安全的连接器”这类判断从架构层面看几乎同义重复,从零散代码行里却难看出。它与开发过程无关,本质上和挑选编程语言一样是工程任务。
参考来源
- 位置:《恰如其分的软件架构》第2章《软件架构》2.7节《专注架构的设计》(源文件:_epub-src/OEBPS/text00021.html)
- 结论依据:原文强调专注架构的设计寻求全局性而非局部解决方案,需要用架构层面的抽象与视图来解释问题,并说明它与具体开发过程(瀑布/敏捷)无关,只是一种工程任务。
- 原始内容:专注架构的设计寻求的是架构层面的解决方案,而不是"头痛医头,脚痛医脚"……专注架构的设计可以与任何软件开发过程兼容……架构设计仅仅是另一种工程任务,是与设计模块、对象或数据结构类似的工程任务。