【问题标题】:MVC / MV pattern UI with operations which may fail带有可能失败的操作的 MVC / MV 模式 UI
【发布时间】:2018-07-04 16:01:14
【问题描述】:

我正在开发具有 C++ 后端(模型、业务逻辑)和 QtQuick 中的声明性 UI 的应用程序。

假设我有一个 ItemModel,通过对数据库(在云中)运行查询来填充。然后,此模型在 UI 中显示为列表。现在我想要一个从列表中删除一个项目的操作。处理它的最佳方法是什么?

我可以在用户删除项目后立即更新 UI,然后将其从模型中删除,然后触发从数据库中删除项目的操作。这很好,直到操作由于某种原因失败,并且我的模型不再与数据库匹配。

另一方面,我可以先执行数据库删除,然后根据结果更新模型,然后更新 UI。这可确保模型和视图始终与数据库同步,但可能会导致 UI 无响应。

【问题讨论】:

    标签: user-interface design-patterns model-view-controller


    【解决方案1】:

    您应该先做,然后在出现问题时显示错误(并确保出现任何问题的可能性极小)。也就是说,如果这不是关键任务的东西。如果是,则不同的 UI 模式可能更合适。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多