zl程序教程

您现在的位置是:首页 >  其它

当前栏目

软件架构的本质

本质 软件架构
2023-09-14 09:07:22 时间

0. 引子

本文是一篇强调实践、注重实效、轻量级、面向开发者的软件架构指南。你将从中学到:

  1. 软件架构的本质;
  2. 为什么软件架构角色应当包含编码、指导与合作;
  3. 如何用简单的草图让你的软件架构可视化;
  4. 软技能。

1. 软件架构的本质

软件架构词汇图谱

在不同的人眼里“架构”一词的意思大相径庭,互联网上对架构的定义也多如牛毛。过去几年里我问过上百人同一个问题,在他们看来“架构”意味着什么。得到的答案概括如下(排名不分先后):

模块、连接、依赖和接口;
大局观;
改变成本很高的事情;
难以改变的事情;
更加兼顾全局的设计;
接口而非实现;
审美(比如:艺术般的整洁代码);
概念模型;
满足非功能需求/质量属性;
每件事都有“架构”;
沟通能力(抽象、语言、词汇);
计划;
一定程度的严格和可靠性;
蓝图;
系统、子系统、交互和接口;
管理;
战略决策的产出;
必要的约束;
结构(组件和交互);
技术方向;
战略和愿景;
结构单元;
实现目标的过程;
标准和准则;
整个系统&