Qt5.9/C++项目开发架构理论

https://blog.csdn.net/naibozhuan3744/article/details/82383683html

 

最近博主单独负责一个比较大的项目,发现之前那种全部UI界面和功能逻辑所有写在一块儿的用法很混乱,不利于团队开发和产品迭代。因而,博主最终开始接触架构了,开始知道UI界面和业务逻辑须要尽量的分离。

判断一个结构的解耦程度,一个简单的办法是离开了UI界面,业务逻辑是否能够正常调用和运行,若是能够,说明这个架构是比较成功的。同时,对UI界面和业务逻辑功能的每一个模块,是否可以被替换,而不影响整个项目的功能,这点也是判断架构解耦性的一个指标。

博主的项目主要是用C/C++语言进行开发,用的界面库是Qt5.9.4,下面是博主对C++架构的初步认知和理解。

1.1架构有不少,可是用在C/C++后端集成管理项目上的架构,经常使用的是MVC,这也是主流的架构。因此博主重点学习和参考的也是MVC架构。下面是MVC架构的知识点讲解。

https://www.cnblogs.com/9A91/p/4241027.html(MVC初级理解)

https://blog.csdn.net/zch501157081/article/details/51967549(MVC深刻理解)

https://blog.csdn.net/u012521552/article/details/51771318(Qt的MVC详解,重点参考)

https://blog.csdn.net/u012521552/article/details/51771318(Qt的MVC(MVD))

 

1.2思考总结

能够参考Qt的MVD模式,将UI界面和业务逻辑层彻底分离开来,二者的连接用信号与槽机制。而后每一个业务逻辑按照功能划分,封装成一个单独的函数或者类。

UI界面层(view)——>控制器层:当用户操做UI界面时,发射一个控制器层信号;

控制器层(controller)——>模型层:控制层调用模型层功能函数,实现对应业务逻辑功能;

模型层(model)——>控制器层:模型功能层,完成业务逻辑后,再发射一个控制器层信号,声明完成了该业务逻辑功能。

控制器层(controller)——>UI界面层:控制器层接收到该支线程完成了对应的业务逻辑,开启槽函数结束该支线程,而后发射一个控制器层完成业务逻辑信号到UI界面层。UI界面层收到信号,显示对应的结果UI界面。

注意:整个过程控制器有三个关键信号,启动业务逻辑功能信号,退出该业务逻辑线程信号,完成业务逻辑信号。而model层功能函数是用支线程来执行。也就是说,全部的模型功能函数都是用支线程完成,这样能够保证UI界面的流畅度。

 

 

参考内容:

https://www.cnblogs.com/9A91/p/4241027.html(MVC初级理解)

https://blog.csdn.net/zch501157081/article/details/51967549(MVC深刻理解)

https://blog.csdn.net/u012521552/article/details/51771318(Qt的MVC详解,重点参考)

https://blog.csdn.net/u012521552/article/details/51771318(Qt的MVC(MVD))


后端

相关文章
相关标签/搜索