计划用Qt开发一个多功能的调试助手,代码已经完成了一部分,以我的拖延症,估计很难在短时间内写好,权当新开一个内容,记录整个软件的开发流程。顺便说一句,上csdn找垃圾不如去问文心一言之类的ai,在软件开发过程中,文心一言帮了我不少忙。
代码准备使用dll开发,即插件开发,这样做的目的是方便代码功能解耦。
软件架构准备类似与单片机的bootloader方式开发。
入口文件:首先有一个什么都需要做的app,只负责软件入口,即exe文件,他的作用是调用插件,类似于单片机的boot0,其作用,就是提供软件启动的入口,后续软件有各种更新改动,基本不会动它,它在软件设计生命周期内是可以不被改动的。
启动文件:有了boot0就有boot1,启动的作用则是加载各种功能,作为插件被入口文件调用,它在软件设计设计周期内是可以被改动的,通过直接替换插件(dll)文件,就可以达到更新软件的目的。
功能模块文件:具体实现各种功能,通过插件实现,同样以dll文件的形式存在,其作用就是实现具体的功能,例如串口调试助手,网络调试助手。
通用模块文件:可能被多次使用的某个某功能,被写成插件的形式存在。这里先举一个简单的例子,比如多个模块的需要读取配置文件,这个功能会被多次调用,那他就被写在通用模块文件里面。通用模块文件被启动文件加载,以指针的方式传下去供使用,类似树的方式生长,后面要使用的时候会说的比较详细。