数据层--------数据解析
数据表示层-----解析后的数据,用类的对象表示
数据组织层-------将解析后的数据传给这个自定义模型(类对象)
右键是删除选中行--------右键弹出式菜单
界面主要是一个窗口,QWidget完成,定义QWidget子类Widget,子类里面定义视图、按钮、菜单三个成员
模型类对象ScoreInfoModel---------用于组织数据,所以首先要往模型类对象放置数据,要先要数据
DataSource类--------用于读取数据
问题:我们要在哪里完成读取数据、并将这些数据放置模型类对象里面???
在RefreshBnt槽函数里面,读取数据、并将这些数据放置模型类对象里面
clearBtn------
scoreBtn-----
右键弹出式菜单
差异:fetchData只能取一次数据,取完一次数据,数据源里面的内容就清空 getData数据取完数据还在数据源
QList<ScoreInfo> ret=m_data;
m_data.clear();
return ret;
假设当前数据源从网络来的,要源源不断的传输过来数据,不取走数据没有容量来容纳新来的数据
假设数据源变化了了,仅仅要修改的是DataSource层,其他层不需要改变
四层数据应用架构好处:
数据不是从文件来的,从网络、串口来的,改动的仅仅是数据层,架构层之间耦合性低,其他层次不变,将改动集中到具体某一层,改动哪一层只需要单元测试这一层的代码即可,其它层代码不需测试。加大了开发效率