当前位置: 首页 > article >正文

hhdb客户端介绍(10)

总体架构

模块架构设计

按照之前设计思路和设计原则,对整个软件的架构设计如下图:
在这里插入图片描述
整个程序以MainGuide为程序入口,展示程序的View模块;
以SQLTableKey为主,相关联的Key类为辅是程序的Model模块;
以MainSQLController为主,相关连的Controller为辅是程序的Control模块;
其中Model和Control皆通过单例模式创建,保证了数据的统一和唯一,在View模块,也是尽量少用三级对话框来减少交互复杂性。

MainGuide 类:
作为程序的入口点,连接了 QFrame 和 CustomMessageBox。
包含一个 MainGuidePrivate 的私有成员。

CustomMessageBox 类:
与 MainGuide 相连,用于显示自定义的消息框。

CreateSQLLink Window 类:
与 SQLTableKey 和 SqlTreeController 相关联,用于创建SQL链接的窗口。

SqlTreeController 类:
包含静态实例 instance。
提供了加载树、获取主题和SQL结构名称的方法。

SQLLinkController 类:
包含静态实例 instance。
提供了删除当前链接的方法。

SqlCreateController 类:
包含静态实例 instance。
提供了获取SQL字符集和集合的方法,以及创建和删除当前SQL的方法。

FrameCreateSQL 类:
包含 void initCata() 方法,用于初始化分类。

FrameInstance 类:
包含 void initCata() 方法,用于初始化实例。

CustomTreeWidgetItem 类:
包含 QString m_uuid 和 CustomTreeWidgetItem() 构造函数,用于自定义树形控件的项。

SystemNotifyMsg 类:
包含静态实例 instance 和 void ntfMsg() 方法,用于系统通知消息。

SqlTabController 类:
包含静态实例 instance,与 FrameUserManager 相关联。

FrameUserManager 类:
与 SqlTabController 和 FrameUserCfgWindow 相关联,用于管理用户。

FrameSQLBeEtter 类:
与 FrameInstance 相关联,用于SQL的优化或改进。

MainSqlController 类:
包含静态实例 instance 和 QSqlDatabase currentDatabase 成员。
提供了创建和删除连接的方法,以及SQL选择和执行的方法。

QSqlDatabase 类:
与 MainSqlController 相关联,表示数据库连接。


http://www.kler.cn/a/430587.html

相关文章:

  • 【Python高级353】python实现多线程版本的TCP服务器
  • 微信小程序-基于Vant Weapp UI 组件库的Area 省市区选择
  • React引入Echart水球图
  • 【西安电子科技大学考研】25官方复试专业课参考书目汇总
  • Pytorch | 从零构建EfficientNet对CIFAR10进行分类
  • 【Rust自学】5.3. struct的方法(Method)
  • 实时数据开发|Flink状态类型
  • 【面试】Spirng的IOC启动流程
  • qmake 生成debug/qmake 生成release
  • Linux 常用命令大全:文件管理、系统信息、网络操作
  • 40分钟学 Go 语言高并发:服务监控与追踪
  • selenium:新窗口切换、关闭
  • 【优选算法篇】:揭开二分查找算法的神秘面纱--数据海洋中的精准定位器
  • 深入探索 JVM:原理、机制与实战
  • docker-compose 安装部署zabbix
  • 2024年发布的多模态大语言模型和它们采用的设计方法
  • RabbitMQ如何保证消息不被重复消费
  • zookeeper 搭建集群
  • 理解 CAP 理论:分布式系统中的权衡与选择 | 常用组件中的CP和AP
  • 48 基于单片机的LCD12864时间调控和串口抱站
  • 阿里云函数计算助力AI大模型快速部署
  • 孚盟云 MailAjax.ashx SQL注入漏洞复现
  • 解决 GitHub 22 端口被占用,改用 443 端口连接
  • 优化移动端H5:常见问题与解决方案
  • easyExcel实现表头批注
  • Plugin [id: ‘flutter‘] was not found in any of the following sources解决方法