首页 › 软件架构与演进 › 正文
模块边界应围绕职责和变化原因划分|服务拆分会增加通信和一致性管理成本|单体架构把主要功能部署在同一应用内
笔记摘要
软件架构与演进
六边形架构通过端口适配隔离外部技术
六边形架构通过端口适配隔离外部技术。依赖倒置使高层策略依赖抽象接口。事件驱动通过事件通知解耦部分交互过程。事件语义应明确表达已经发生的业务事实。命令表达希望执行但尚未完成的操作。命令查询分离区分修改状态与读取信息。读写模型分离不必然需要完全独立存储。事件溯源把状态变化保存为连续事件。
软件架构组织系统的重要组件及其关系
软件架构组织系统的重要组件及其关系。模块边界应围绕职责和变化原因划分。高内聚表示模块内部元素具有紧密关联。低耦合减少模块对其他部分细节的依赖。接口隐藏内部实现并表达可用行为。抽象需要保留调用方真正关心的约束。过度抽象可能增加理解和修改的成本。
重放事件需要保持历史事件的解释一致
重放事件需要保持历史事件的解释一致。快照可以减少从头重建状态的成本。贫血模型把大部分行为移到外部服务。业务规则分散可能增加修改遗漏风险。设计模式概括反复出现问题的常见解法。工厂模式封装对象创建和选择的逻辑。策略模式允许替换某类处理算法。
可测试性受到依赖组织和状态管理影响
可测试性受到依赖组织和状态管理影响。性能瓶颈需要通过测量而非直觉确认。容量规划估计未来负载所需的资源。故障降级在受限条件下保留重要功能。优雅关闭让系统停止前完成必要清理。向后兼容有助于分阶段升级多个组件。架构质量需要放在具体业务约束下评价。简单清晰的边界有助于系统长期演进。
笔记类型说明
来源:荷屿拾趣
估计效果受到模型误差和噪声假设影响:控制系统根据目标调节对象的运行状态
碳纤维具有较高的比强度和比刚度,纤维断裂和基体开裂属于不同损伤机制,纤维方向决定层合材料的部分方向性能
牛奶沸腾时泡沫形成的薄层可能阻碍蒸汽逸出-豆浆由大豆和水加工形成并具有豆类原料特点-酸奶表面少量乳清析出可能属于结构变化现象
tube44,【较长波长在适当环境下更容易发生明显衍射】电磁波由相互关联的电场与磁场传播构成,调频利用瞬时频率变化表达待传输信息