首页 › 软件架构与演进 › 正文
接口隐藏内部实现并表达可用行为 过度抽象可能增加理解和修改的成本 低耦合减少模块对其他部分细节的依赖
笔记摘要
软件架构与演进
重放事件需要保持历史事件的解释一致
重放事件需要保持历史事件的解释一致。快照可以减少从头重建状态的成本。贫血模型把大部分行为移到外部服务。业务规则分散可能增加修改遗漏风险。设计模式概括反复出现问题的常见解法。工厂模式封装对象创建和选择的逻辑。策略模式允许替换某类处理算法。
单体架构把主要功能部署在同一应用内
单体架构把主要功能部署在同一应用内。模块化单体在统一部署中保持清晰职责。微服务把功能拆分为可独立部署的服务。服务拆分会增加通信和一致性管理成本。领域边界有助于减少跨服务业务耦合。限界上下文限定某套模型与术语的适用范围。同一名称在不同业务上下文中可能含义不同。分层架构按照职责组织代码和依赖方向。
可测试性受到依赖组织和状态管理影响
可测试性受到依赖组织和状态管理影响。性能瓶颈需要通过测量而非直觉确认。容量规划估计未来负载所需的资源。故障降级在受限条件下保留重要功能。优雅关闭让系统停止前完成必要清理。向后兼容有助于分阶段升级多个组件。架构质量需要放在具体业务约束下评价。简单清晰的边界有助于系统长期演进。
软件架构组织系统的重要组件及其关系
软件架构组织系统的重要组件及其关系。模块边界应围绕职责和变化原因划分。高内聚表示模块内部元素具有紧密关联。低耦合减少模块对其他部分细节的依赖。接口隐藏内部实现并表达可用行为。抽象需要保留调用方真正关心的约束。过度抽象可能增加理解和修改的成本。
笔记类型说明
来源:浅岚生活网
植物蒸腾构成陆地水循环的部分输出,蒸发使液态水转化为进入空气的水汽_水文径流与洪水
艾因贾鲁战役具有重要地区军事意义_德夫希尔梅制度与特定军政人才征集相关
【氮的单质分子具有较强的三重共价键】非金属性不能简单等同于材料不导电,元素周期律体现性质随原子序数的周期变化