C语言程序架构

来源:互联网 发布:读读日报和知乎日报 编辑:程序博客网 时间:2024/06/05 05:33

1.多模块初始化注册架构

一个大型软件由多个模块构成,在初始化过程中,依次调用这些模块的初始化函数,这些初始化函数将这些模块内部提供的可供调用接口集中注册到一个大的

数据结构中。然后main函数才开始处理接收到的参数,根据收到参数的不同,去调用大数据结构中不同的接口函数。


适用场景:适用于构造交互式程序,初始化时,所有模块都注册好,开始接受用户输入时,根据输入参数调用不同的函数接口。


2.查表架构

1). 在实现read,write,trim命令按照一定比率下发到设备的程序中,通过构造一个长度为100的数组,其中25个置为0代表read的比例,25个置为1代表write的比例,

50个置为2代表trim的比例,通过生成大量的0~99的随机数,达到read,write,trim命令为25:25:50的比例。


2).一个下发队列,可以接受read,write,erase命令,而该队列的规则是最多同时处理4个read,2个write和1个erase,在想知道该下发队列还能接收什么命令时,

通过查表实现,例如,下发队列中当前有1个write命令,则查表可以,它还可以接收1个write或2个read,不能接收erase。


适用场景:控制逻辑比较复杂的情况,适宜适用查表的方法来避免复杂的逻辑,以空间换时间。


3.交叉遍历架构

见前文:从m个不定长数组中 各取一个元素的组合生成算法


适用场景:适合交叉遍历测试程序的编写。


0 0
原创粉丝点击