代码模块化(二)

在按照上一篇的做法将代码重构之后,发现虽然模块之间的依赖关系虽然明确了, 但是使用方式2的模块太多了, 方式2有一个弊端就是,对于模块间的引用没有天然的限制,如果不小心使用了某个模块却没有调用此模块的init函数,在某些情况下也是能够正常运行的。 因此我决定将除了log还要config这种几乎所有模块都会用到的模块使用方式2外,其他的模块全部使用方式1来实现。在实现之初我觉得除了那些最基础的模块外完全采用方式1来实现应该是一个完美的树形,但是在实现过程中发现将模块化……

代码模块化(一)

今天重新review了一遍代码, 发现模块竟然有几十个之多, 之间引用大概如下: MODULE_MAIN -> MODULE_A MODULE_B MODULE_C … MODULE_A -> MODULE_B MODULE_C MODULE_SUB_A1 MODULE_SUB_A2 … MODULE_B -> MODULE_SUB_B1 MODULE_SUB_B2 … MODULE_C -> MODULE_SUB_C1 MODULE_SUB_C2 … … 也就是说这些模块之间其实并非是同级的, 有些模块只是被某一个上层模块调用罢了. 但是我目前代码里面其实并不能很明显的看到这种引用关系, 如果这种模块多了, 相互间的引……