【发布时间】:2018-07-04 16:01:14
【问题描述】:
我正在开发具有 C++ 后端(模型、业务逻辑)和 QtQuick 中的声明性 UI 的应用程序。
假设我有一个 ItemModel,通过对数据库(在云中)运行查询来填充。然后,此模型在 UI 中显示为列表。现在我想要一个从列表中删除一个项目的操作。处理它的最佳方法是什么?
我可以在用户删除项目后立即更新 UI,然后将其从模型中删除,然后触发从数据库中删除项目的操作。这很好,直到操作由于某种原因失败,并且我的模型不再与数据库匹配。
另一方面,我可以先执行数据库删除,然后根据结果更新模型,然后更新 UI。这可确保模型和视图始终与数据库同步,但可能会导致 UI 无响应。
【问题讨论】:
标签: user-interface design-patterns model-view-controller