元素化模式

“软件架构是系统设计过程中的重要决定的集合,可以通过变更成本来衡量每个设计决定的重要维度。” —— Grady Booch

建模

建模是使用模型在业务和 IT 开发中概念化和构建系统的跨学科研究。

  • 概念化
  • 价值建模
  • 业务建模
  • 技术建模

分解?概念范畴化

  • LVT
  • 分层架构?
  • 复杂度拆解?

同构

在抽象代数中,同构指的是一个保持结构的双射。 在更一般的范畴论语言中,同构指的是一个态射,且存在另一个态射,使得两者的复合是一个恒等态射。

  • 利益相关者映射
  • 能力对齐
  • 团队拓扑

Mapping:战略 => 架构 => 实践

示例:

战略目标架构原则设计和交付实践
赋能业务扩展减少惯性REST 标准化
支持进入新市场消除偶然的复杂性封装遗留系统
支持已有业务创新一致的接口和数据流最小化依赖
没有银弹....

显性

意图揭示、显性化知识、可视化

  • 城市隐喻(Code City(软件城市))
  • Path to Production

Outcome

资产?

架构师的主要任务是定义全面的上下文(一组评估标准),以便做出平衡的架构决策。

决策(英语:Decision-making)是一种认知过程,经过这个过程之后,个人可以在各种选择方案中,根据个人信念或是综合各项因素的推理,决定出行动, 或是决定出个人要向外表达的意见。每个决策过程都会以产生最终决定、选取最终选择为目标。而这些选择的形式可以是一种行动或选取的意见。

  • 架构决策框架
  • 架构决策记录