201126阶段二单例数据库及MVC设计模式

一、学习的知识点

一)1 单例模式

#ifndef SIGNALDATABASE_H
#define SIGNALDATABASE_H

#include <iostream>
#include <QString>
#include <QDebug>
#include "sqlite3.h"
#include <QObject>
#include <QString>
#include "sqlite3.h"
class signalDatabase
{
//静态成员需要在源程序的外部初始化,不能在函数内部初始化。
signalDatabase *signalDatabase::mydatabase = NULL;
public:
	//成员函数,返回类对象指针;
	//只有指针为NULL时,才会被new,否则返回原有指针;
	//保证一个类只有一个实例
    static signalDatabase *getInstance(const char *dbpath);
    {
        if(signalDatabase::mydatabase == NULL)
            signalDatabase::mydatabase = new signalDatabase(dbpath);
        return signalDatabase::mydatabase;
    }

    void openDatabase(const char *dbPath);
    void closeDatabase();
    void createtable();
    int getData(char *sql,char **&result,int &row,int &col);

private:
	//私有的构造函数
    signalDatabase(const char *dbpath);
    {
        this->sqldb = NULL;
        this->openDatabase(dbpath);
        this->createtable();
    }

    static signalDatabase *mydatabase;
    char *errmsg;
    sqlite3 *sqldb;

};

#endif // SIGNALDATABASE_H

	//使用
	signalDatabase *sqlitedata = signalDatabase::getInstance("userdata.db");

一)2 MVC设计模式

MVC设计模式是把一个系统按照模型(Model)、视图(View)、控制器(Controller)的方式进行分离,这样一个应用就被分成三层:模型层、视图层和控制层。
在这里插入图片描述

一)2.1优点

  1. 耦合性低,允许更改视图层而不需要修改模型层和控制层
  2. 重用性高,多个不同样式的视图可以共享一个模型
  3. 部署快,生命周期成本低
  4. 可维护性高

一)2.1缺点

  1. 完全理解MVC比较复杂。
  2. 调试困难
  3. 不适合小型,中等规模的应用程序
  4. 增加系统结构和实现的复杂

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

学习到了一种设计模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值