这段时间在设计一个项目的代码结构。之前设计结构时很注意回调函数,的确回调函数能够解决模块间的耦合问题。
但今天突然觉得,我们的代码结构应该像一个食物链,层次分明。这样维护起来就比较好。上层通过方法可以知道下层的属性,并依赖下层,但下层不能依赖上层。就像兔子和草的关系。
如何设计出这样的结构,回调函数的机制是必不可少的。上层可以通过对象或者方法直接调用下层的属性或方法。如果需要下层通知上层,上层必须传入一个回调函数。下层只管用回调函数就行了吗,至于回调函数的实现,则是上层的问题。这样就建立了食物链的代码结构。
设计代码,必须先将代码的层次分清。否则会给后面的修改带来非常大的工作量。