【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子类->操作函数->返回数据类(数据容器)
相关推荐
蜗牛一步步往上爬1 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
wo_jack5 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
D e re k ZH5 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
心若自由何处是束缚6 小时前
适配器模式:从原理到实战的完整指南
设计模式·适配器模式
雪落漂泊6 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
不会算法的笨小孩8 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
是2的10次方啊10 小时前
设计模式与生活⑮:看到哪儿了,得有个地方替你记着
设计模式
Hhy_110710 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
青少儿编程课堂10 小时前
蓝桥杯青少组图形化省考报名倒计时·全国青少年信息素养大赛·电子学会图形化考级:校园黑白棋人机对战解析
c++·python·算法·bfs·信息学竞赛
YSL07012411 小时前
C++基础
开发语言·c++