软件体系结构——Chapter 7 可修改性(Modifiability)

软件体系结构——Chapter 7 可修改性(Modifiability)

目录

  • 1.可修改性的通用场景
  • 2.可修改性的策略

可修改性:可修改性是关于变更的,我们关注变更的风险和成本。

  • What:什么可以变更

  • How:变更的可能性如何

  • When:何时变更

  • Who:谁导致的变更

  • Cost:变更的成本

1.可修改性的通用场景

刺激源
  • 谁做出变更:开发者、系统管理员、用户
刺激
  • 变更的指令
工件
  • 要变更的内容:代码、数据、接口等
环境
  • 变更可在何时进行:设计时、编译时、构建时、启动时或运行时
响应
  • 进行修改
  • 测试修改
  • 部署修改
响应度量
  • 时间和成本

2.可修改性的策略

  1. 减小模块大小

    • 拆分模块
  2. 增加内聚(Cohesion)

    • 增加语义一致性
  3. 减少耦合(Coupling)

    • 封装

    • 使用一个中间件

    • 重构(Refactor)

    • 抽象通用服务

    • 限制依赖关系

  4. 延迟绑定

    • (避免在代码里“写死”,而是让系统在更晚的时刻才决定具体的值或行为)