夜雨聆风学习资料网

ARTICLE · 1256852

《从源码搭建嵌入式软件框架》03|模块互相

《从源码搭建嵌入式软件框架》03|模块互相

《从源码搭建嵌入式软件框架》03|模块互相

代码按职责分好目录后,新问题就来了:甲要用乙,乙又想通知甲。难道最后只能互相依赖?

先别急着删头文件。模块之间有来有往,不一定代表构建依赖形成了环。关键是先把箭头含义说清楚。

这里常混用三种关系:构建依赖、运行调用和消息流向。看到“通知回去了”,就认定构建依赖也反了,这锅不能乱扣。

比如公共流程要生成资源列表,具体选择由上层策略决定。公共流程只管按标识查找、调用约定的入口、检查结果。它压根不知道上层函数的具体名字。

再比如发布订阅。发布者只知道事件标识和数据,根本不认识接收者的处理函数。新增接收者时,登记另一个处理函数就行,完全不用改发布者。

所以发现互相依赖,先查三件事:是真正的环,还是把调用和消息误画成了依赖?双方有没有把本该隐藏的细节公开了?接线代码有没有混进通用主体?

依赖不是坏事。我们真正想减少的是不必要的直接联系,以及说不清责任的联系。

原文《从源码搭建嵌入式软件框架》03|模块互相依赖怎么办?先把依赖方向画清楚
作者提示: 个人观点,仅供参考
广东,4小时前,

相关学习资料