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 相关联,表示数据库连接。

相关推荐
云飞云共享云桌面2 小时前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
知行合一。。。8 小时前
RAG--03--Milvus基本用法
数据库·oracle·milvus
TDengine (老段)8 小时前
TDengine 线程模型 — 网络、调度、执行
大数据·数据库·物联网·制造·时序数据库·tdengine·涛思数据
上学的小垃圾9 小时前
01-数据库系统概述
数据库
二进制漫游记10 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
2501_9289962210 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
泡干脆面就番茄12 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
devpotato13 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情67313 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy32214 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物