【Qt】MVC设计模式

目录

一、搭建MVC框架

二、创建数据库连接单例类SingleDB

三、数据库业务操作类model设计

四、control层,关于model管理类设计

五、view层即为窗口UI类


一、搭建MVC框架

里面的bin、lib、database文件夹以及sqlite3.h与工程后缀为.pro文件的配置与上次发的文章一样,大家可以自行去看,https://mp.csdn.net/mp_blog/creation/editor/145756399

这里我只讲关于MVC框架

  1. 手动创建model文件夹,这个文件夹下放所有表业务操作类
  2. 手动创建view文件夹,这个文件夹下放所有窗口UI相关类
  3. 手动创建control文件夹,这个文件夹下放model管理控制类
  4. 手动创建data文件夹,这个文件夹下放表对应的数据类,一个表(或视图)就有一个数据类

在不包含control的情况下,这几个之间的关系

二、创建数据库连接单例类SingleDB

功能说明:创建单例、连接数据库

  1. 构造函数改私有权限,不让其他对象有new当前这个类的机会
  2. 头文件中编写静态成员、获取单例函数,如下图

3.懒汉式单例

饿汉式单例如果我根本没有使用到这个函数,但是还是会new出一个对象,占用内存空间

三、数据库业务操作类model设计

功能:父类model纯虚函数或虚函数,以及初始化数据库需要的对象

1.先创建一个model父类BaseModel,因为每个表都是有需要增删改查等等业务处理,如果每一个表都写一个处理类,那么类就很多,创建就不方便,所以用父类来统一类型,这个类必须要实现的是数据库连接

2.再创建一个model子类,继承BaseMode。有一个表就可以有一个这样的操作类,例如:UserModel对应用户表操作,VideoMode对应视频表操作.....

3.UserModel子类要去实现父类虚函数或纯虚函数,即继承的多态中对父类成员函数重写,重写函数就为具体的某个业务操作,例如:登录业务、注册业务、分页显示业务....

四、control层,关于model管理类设计

  1. 创建一个管理类,这个类中做成单例设计模式
  2. 编写一个创建不同的model操作类的函数,简单工厂设计模式,其实就是通过传入的参数字符串(可以是表名)判断,应该创建什么model类,其实就是多分支选择

注意:该函数返回值必须是model父类的指针,这里运用继承多态,父类指针指向不同子类空间

五、view层即为窗口UI类

  1. 窗口设计
  2. 信号和槽
  3. 槽函数调用control层管理类->创建model子类->操作函数->返回数据类(数据容器)
相关推荐
jyan_敬言1 小时前
【C++】string类(二)相关接口介绍及其使用
android·开发语言·c++·青少年编程·visual studio
liulilittle2 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
tan77º2 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
Exclusive_Cat3 小时前
SpringMVC参数接收与数据返回详解
spring·mvc
GiraKoo3 小时前
【GiraKoo】C++14的新特性
c++
悠悠小茉莉3 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
坏柠3 小时前
C++ Qt 基础教程:信号与槽机制详解及 QPushButton 实战
c++·qt
GodKeyNet4 小时前
设计模式-责任链模式
java·设计模式·责任链模式
泽02024 小时前
C++之红黑树认识与实现
java·c++·rpc
雨落倾城夏未凉4 小时前
4.信号与槽
后端·qt