首页 › 软件架构与演进 › 正文
【软件架构组织系统的重要组件及其关系】服务拆分会增加通信和一致性管理成本,微服务把功能拆分为可独立部署的服务
笔记摘要
软件架构与演进
软件架构组织系统的重要组件及其关系
软件架构组织系统的重要组件及其关系。模块边界应围绕职责和变化原因划分。高内聚表示模块内部元素具有紧密关联。低耦合减少模块对其他部分细节的依赖。接口隐藏内部实现并表达可用行为。抽象需要保留调用方真正关心的约束。过度抽象可能增加理解和修改的成本。
观察者模式通过订阅关系传播状态变化
观察者模式通过订阅关系传播状态变化。装饰器通过包装对象扩展部分行为。适配器协调已有接口与期望接口差异。技术债描述短期选择留下的长期维护负担。重构调整内部结构而保持预期外部行为。渐进式改造通过分阶段替换降低迁移风险。可扩展性关注业务增长时资源与性能变化。可维护性关注理解和修改系统的难易程度。
六边形架构通过端口适配隔离外部技术
六边形架构通过端口适配隔离外部技术。依赖倒置使高层策略依赖抽象接口。事件驱动通过事件通知解耦部分交互过程。事件语义应明确表达已经发生的业务事实。命令表达希望执行但尚未完成的操作。命令查询分离区分修改状态与读取信息。读写模型分离不必然需要完全独立存储。事件溯源把状态变化保存为连续事件。
重放事件需要保持历史事件的解释一致
重放事件需要保持历史事件的解释一致。快照可以减少从头重建状态的成本。贫血模型把大部分行为移到外部服务。业务规则分散可能增加修改遗漏风险。设计模式概括反复出现问题的常见解法。工厂模式封装对象创建和选择的逻辑。策略模式允许替换某类处理算法。
笔记类型说明
来源:月汀格物