软件架构、模块化与设计全解析
1. 优秀架构的特质
创建架构更多是一门艺术而非科学,但有一些通用规则有助于理解什么造就了优秀的架构。违反这些特性可能导致架构不佳,即便遵循规则也可能因操作不当得到糟糕的架构,但这些规则能帮助我们做对事情。
- 简洁性 :优秀的架构应能在一张纸上概括。若无法在一页内呈现,就需深入思考更高层次的表示方式。可以有详细页面辅助说明,但将内容浓缩到单页图表对实现一致且有用的架构至关重要。纸张不能过大,字体也不能过小。
- 同质性 :好的架构有一个潜在原则,使组件、行为和连接具有同质性。例如,每个框代表一个子程序,每个箭头代表调用依赖,这样的架构图就是调用图。同质性意味着框和箭头的类型尽量少,若每个框和箭头含义不同,架构就缺乏同质性,这是不可取的。
- 清晰性 :优秀的架构应尽可能简单易懂。架构的真正目的是帮助设计师组织事物,若架构图混乱,设计师对架构的理解可能也会混乱。尽管在纸上进行二维绘图有局限,但仍值得努力以清晰的方式描绘架构。
- 相关性 :好的架构表示应与设计师关注的问题相关。绘制与系统无关方面的整齐图表是浪费精力。在任何系统中,有些事情很重要,有些则不太重要,应创建一个或多个高级架构图,聚焦于重要的事情。
优秀的架构具备简洁、同质、清晰和相关的特点。最终,架构的优劣和其文档化表示的好坏取决于观察者的判断,但任何架构表示都必须能回答“这个系统的高层视图是什么”这个问题。
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



