总体架构
模块架构设计
按照之前设计思路和设计原则,对整个软件的架构设计如下图:
整个程序以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 相关联,表示数据库连接。