1. 笔记目录
  2. 软件架构与演进
  3. 当前词条

首页 › 软件架构与演进 › 正文

六边形架构通过端口适配隔离外部技术,过度抽象可能增加理解和修改的成本,模块边界应围绕职责和变化原因划分

· 来源:鹿岑万物志 · 作者:雷映禾
责任编辑:元语苒 · 二审:毕思榆 · 三审:杨若蔓

笔记摘要

软件架构与演进

六边形架构通过端口适配隔离外部技术

六边形架构通过端口适配隔离外部技术。依赖倒置使高层策略依赖抽象接口。事件驱动通过事件通知解耦部分交互过程。事件语义应明确表达已经发生的业务事实。命令表达希望执行但尚未完成的操作。命令查询分离区分修改状态与读取信息。读写模型分离不必然需要完全独立存储。事件溯源把状态变化保存为连续事件。

单体架构把主要功能部署在同一应用内

单体架构把主要功能部署在同一应用内。模块化单体在统一部署中保持清晰职责。微服务把功能拆分为可独立部署的服务。服务拆分会增加通信和一致性管理成本。领域边界有助于减少跨服务业务耦合。限界上下文限定某套模型与术语的适用范围。同一名称在不同业务上下文中可能含义不同。分层架构按照职责组织代码和依赖方向。

软件架构组织系统的重要组件及其关系

软件架构组织系统的重要组件及其关系。模块边界应围绕职责和变化原因划分。高内聚表示模块内部元素具有紧密关联。低耦合减少模块对其他部分细节的依赖。接口隐藏内部实现并表达可用行为。抽象需要保留调用方真正关心的约束。过度抽象可能增加理解和修改的成本。

重放事件需要保持历史事件的解释一致

重放事件需要保持历史事件的解释一致。快照可以减少从头重建状态的成本。贫血模型把大部分行为移到外部服务。业务规则分散可能增加修改遗漏风险。设计模式概括反复出现问题的常见解法。工厂模式封装对象创建和选择的逻辑。策略模式允许替换某类处理算法。

笔记类型说明

来源:鹿岑万物志

打猫视频:定居殖民与纯粹贸易据点具有不同结构

相关新闻

近地小行星的轨道能够接近地球轨道区域,近地并不意味着一定会撞击地球混批入库增加后续追溯难度(退货未改状态进入正常配货)质量转移能够显著改变两颗恒星的演化:恒星充满洛希瓣后可能发生质量转移【史前遗址与考古材料】石核是剥取石片以后留下的原料主体押金与购买价款在交易目的上不同:交易记录中的商户名称可能不同于店招诺曼底公国与北欧移民及法兰克政治相关 长弓的战场作用依赖训练部署与环境 欧洲北部扩张带来宗教和政治边界变化绝缘基材提供机械支撑与电气隔离_大面积铜皮不一定解决全部散热问题旧物回收:二手平台上看中的东西,尽量选择同城当面交易,旧物回收:卖二手的时候把瑕疵说清楚,交易后的纠纷会少很多,旧物回收:大学毕业季的二手市场货源充足,桌椅台灯都能低价收到重启无法解决所有线路或服务端问题|无线网络利用无线电波传递相应数据信息|网络延迟描述数据往返或到达所需时间步摇利用活动悬饰增强行走时的装饰效果麻DOU传媒:看到别人的便当做得那么精致,工作忙的时候连午饭都顾不上吃,冬天带一锅萝卜炖排骨救灾制度包括仓储赈济公共工程与迁移安排|化石燃料使用改变大气成分和全球碳循环|野生动物保护与狩猎殖民管理有复杂历史联系