C语言模块化设计的问题。
是这样,最近在用C设计一个程序,看了相关的设计理念的文章--模块化设计。
比较明白也可以设计,但是有一个问题。当上层模块使用同层或者底层模块的接口的时候(#include底层模块或者同层模块的.h文件),如果发布这个上层这个借口给最终用户调用使用的时候,虽然,用户只能看见最上层接口的暴露出来的函数,但是,理论上说,如果这个用户知道(或者猜得到)底层的那个接口的函数,一样可以使用!
比如
a.h包含了底层的b.h
虽然最终的用户只能看见a.h中的“helloA();”这个函数,但是如果在b.h中有一个"helloB();"的话,这个用户一样可以通过包含一个"a.h"来调用b.h中的helloB()这个借口函数。
C是不是只能这样子来实现接口。
不知道,我理解的对不对!?
县谢谢各位大虾了。