小样本学习隐藏Bug突破:几何感知距离校正提升20%性能
2026/11/4 4:58:31
承接上一篇《组件化路由:编译期与运行时路由》,那一篇解决了「页面到页面」的跳转,这一篇处理「模块与模块之间的数据与事件」。组件化之后最难的不是跳转,而是「两个模块都要用同一个东西时,这份共识应该放在哪」。
结论先行:模块间通信的决策只有两条主线——「调用方需要能力」还是「发生方需要通知」。前者走接口下沉(依赖倒置),后者走事件(发布订阅)。选错的典型症状是:为了传一个数据而建立依赖,或者为了通知状态而引入单例。
先把这个判据立住,后面所有方案都是它的具体化。
| 场景特征 | 通信方式 | 具体手段 |
|---|---|---|
| A 需要调用 B 的能力 | 依赖(接口下沉) | A 依赖 domain 的接口,data/实现方提供 |
| B 发生某事,想让若干人知道 | 事件(发布订阅) | B 发事件,A 订阅 |
| A 要从 B 取数据 | 数据依赖 | A 依赖 B 暴露的接口或 Flow |
| B 要主动改 A 的界面 | 路由或事件 | 页面跳转走路由,状态通知走事件 |