C语言模块化设计的问题。
是这样,最近在用C设计一个程序,看了相关的设计理念的文章--模块化设计。
比较明白也可以设计,但是有一个问题。当上层模块使用同层或者底层模块的接口的时候(#include底层模块或者同层模块的.h文件),如果发布这个上层这个借口给最终用户调用使用的时候,虽然,用户只能看见最上层接口的暴露出来的函数,但是,理论上说,如果这个用户知道(或者猜得到)底层的那个接口的函数,一样可以使用!
比如
a.h包含了底层的b.h
虽然最终的用户只能看见a.h中的“helloA();”这个函数,但是如果在b.h中有一个"helloB();"的话,这个用户一样可以通过包含一个"a.h"来调用b.h中的helloB()这个借口函数。
C是不是只能这样子来实现接口。
不知道,我理解的对不对!?
县谢谢各位大虾了。
比较明白也可以设计,但是有一个问题。当上层模块使用同层或者底层模块的接口的时候(#include底层模块或者同层模块的.h文件),如果发布这个上层这个借口给最终用户调用使用的时候,虽然,用户只能看见最上层接口的暴露出来的函数,但是,理论上说,如果这个用户知道(或者猜得到)底层的那个接口的函数,一样可以使用!
比如
a.h包含了底层的b.h
虽然最终的用户只能看见a.h中的“helloA();”这个函数,但是如果在b.h中有一个"helloB();"的话,这个用户一样可以通过包含一个"a.h"来调用b.h中的helloB()这个借口函数。
C是不是只能这样子来实现接口。
不知道,我理解的对不对!?
县谢谢各位大虾了。
...全文
相关推荐
C语言课程设计项目_大学C语言编程实践与综合应用开发_包含基础语法练习数据结构实现算法设计文件操作图形界面模拟及小型系统开发_通过模块化编程和调试技巧提升编程能力与问题解决.zip
C语言课程设计项目是一套全面的实践和学习资源,它旨在通过一系列精心设计的模块和任务来深化学生对C语言编程的理解,提升其解决实际问题的能力。
大一C语言课程设计项目实现_基础编程练习与算法应用_涵盖数据结构文件操作图形界面开发及简单游戏设计_用于巩固C语言语法掌握程序调试技巧培养模块化编程思维与实际问题解决能力_.zip
本文档为大一C语言课程设计项目实现指南,其中包含基础编程练习与算法应用,旨在帮助学生巩固C语言语法,掌握程序调试技巧,并培养模块化编程思维与实际问题解决能力。
C语言程序设计从入门到精通全套视频教程_基础语法控制语句数组指针函数结构体算法设计面向过程模块化编程实战案例_帮助零基础学员系统掌握C语言编程技能实现简单程序开发与问题解决_Vis.zip
函数的学习是C语言编程的另一个重要部分,教程通过这一环节教会学习者如何实现代码的复用和模块化。
模块化案例教学在“C语言程序设计”课程中的应用.pdf
为解决这一问题,引入模块化案例教学法显得尤为重要。模块化案例教学法强调以实际问题为导向,将课程内容划分为四大模块:C语言基本程序设计、函数、指针和文件。
模块化案例教学在C语言教学中的应用.pdf
但是,这种方法并不适合于C语言的提高阶段,因为在提高阶段,学生需要的是更加深入的理解和运用C语言解决复杂问题的能力。提高阶段的教学方法应当采用模块化案例教学。


