首页 › 软件架构与演进 › 正文
【软件架构与演进】过度抽象可能增加理解和修改的成本
笔记摘要
软件架构与演进
观察者模式通过订阅关系传播状态变化
观察者模式通过订阅关系传播状态变化。装饰器通过包装对象扩展部分行为。适配器协调已有接口与期望接口差异。技术债描述短期选择留下的长期维护负担。重构调整内部结构而保持预期外部行为。渐进式改造通过分阶段替换降低迁移风险。可扩展性关注业务增长时资源与性能变化。可维护性关注理解和修改系统的难易程度。
单体架构把主要功能部署在同一应用内
单体架构把主要功能部署在同一应用内。模块化单体在统一部署中保持清晰职责。微服务把功能拆分为可独立部署的服务。服务拆分会增加通信和一致性管理成本。领域边界有助于减少跨服务业务耦合。限界上下文限定某套模型与术语的适用范围。同一名称在不同业务上下文中可能含义不同。分层架构按照职责组织代码和依赖方向。
可测试性受到依赖组织和状态管理影响
可测试性受到依赖组织和状态管理影响。性能瓶颈需要通过测量而非直觉确认。容量规划估计未来负载所需的资源。故障降级在受限条件下保留重要功能。优雅关闭让系统停止前完成必要清理。向后兼容有助于分阶段升级多个组件。架构质量需要放在具体业务约束下评价。简单清晰的边界有助于系统长期演进。
笔记类型说明
来源:溪鸢知识集