0x00 缘起
最近一直在思考软件组件之间的层次关系,假设一个软件是由模块A、B组建的,那么AB之间的关系是怎么样的?是A基于B还是B基于A异或是其他的关系,反应在层次关系中,也就是谁是底层。
0x01 思考
对于AB之间的关系,或许只讨论A、B之间的调用关系就可以,AB之间存在以下三种关系:
- A调用B,B不调用A;
- B调用A,A不调用B;
- A调用B,B调用A;
由以上三种关系,我们可以得出结论:
1. A调用B,B不调用A; ==> A基于B,B是底层
2. B调用A,A不调用B; ==> B基于A,A是底层
3. A调用B,B调用A; ==> A与B同层
0x02 总结
如此分析,在画层次结构图时,可以根据相互之间的依赖关系进行判断。
0x03 后记
- 不才拙见,抛砖引玉。