相关疑难解决方法(0)

为什么Qt会滥用模型/视图术语?

我认为Qt中使用的模型/视图控件的术语是有缺陷的.在他们的解释页面上,他们说,他们通过合并View和Controller将MVC简化为MV,他们给出了以下图片:

解释Qt MVC的图片

不过我认为,他们错误地命名了对象的角色,我认为,

  1. 他们所谓的View with merged Controller实际上只是一个View.
  2. 他们所谓的模型实际上只是控制器.
  3. 如果你真的想拥有一个模型,那么它就是"数据"所在的地方.

我说的是你在应用程序中使用Qt模型/视图组件的通常和理智的方式.原因如下:

  1. 这通常是Qt组件,它按原样使用,不添加任何特定于您的对象的Controller逻辑)
  2. 这不是一个模型,只是因为你应该实现几个Qt方法,如rowCount,columnCount,data等,这与你的模型无关.事实上,控制器中有典型的模型方法.当然,你可以在这里实现控制器模型逻辑,但首先它将是非常糟糕的代码设计,其次你将控制器和模型合并而不是控制器和视图.
  3. 如上所述2.如果你想分离模型逻辑,它肯定不是图片上的蓝色框,而是虚线"数据"框(当然是与真实数据通信).

Qt在他们的术语中是错误的,还是只是我不懂的?(顺便说一句:这不是学术问题的原因是我已经开始按照命名开始对我的项目进行编码,我很快就发现,代码显然不对.只有在我意识到之后,我应该不要尝试将模型逻辑放在他们称之为Model的模型中)

model-view-controller qt

101
推荐指数
3
解决办法
3万
查看次数

标签 统计

model-view-controller ×1

qt ×1