第60课 自定义模型类(下)

数据层--------数据解析

数据表示层-----解析后的数据,用类的对象表示

数据组织层-------将解析后的数据传给这个自定义模型(类对象)

右键是删除选中行--------右键弹出式菜单

 

界面主要是一个窗口,QWidget完成,定义QWidget子类Widget,子类里面定义视图、按钮、菜单三个成员

模型类对象ScoreInfoModel---------用于组织数据,所以首先要往模型类对象放置数据,要先要数据

DataSource类--------用于读取数据

问题:我们要在哪里完成读取数据、并将这些数据放置模型类对象里面???

在RefreshBnt槽函数里面,读取数据、并将这些数据放置模型类对象里面

clearBtn------

scoreBtn-----

右键弹出式菜单

差异:fetchData只能取一次数据,取完一次数据,数据源里面的内容就清空    getData数据取完数据还在数据源

    QList<ScoreInfo> ret=m_data;
    m_data.clear();
    return ret;

假设当前数据源从网络来的,要源源不断的传输过来数据,不取走数据没有容量来容纳新来的数据
假设数据源变化了了,仅仅要修改的是DataSource层,其他层不需要改变

 

四层数据应用架构好处:

数据不是从文件来的,从网络、串口来的,改动的仅仅是数据层,架构层之间耦合性低,其他层次不变,将改动集中到具体某一层,改动哪一层只需要单元测试这一层的代码即可,其它层代码不需测试。加大了开发效率

 

原文地址:https://www.cnblogs.com/liuyueyue/p/13446359.html