oop - Controllers 可以从 View 获取数据吗?MVC
问题描述
我正在开发一个应用程序,并且显示了项目网格(比如文件)。我正在使用 MVC 概念
- 模型:保存文件列表的吸气剂(未排序)
- 控制器:保存由 UI 触发的操作的接口
- 视图:显示列表的 UI。视图决定保存文件的选择以及文件应如何排序。它有按钮,用户可以在其中决定排序标准。这些设置存储在视图本身中。
我有要求用户可以选择多个文件并执行操作。操作完成后,应选择不同的文件。此选择基于用户查看文件的顺序(例如,选择下一个适用的行)。该逻辑仍然与后端相关,但它取决于 UI 中显示的顺序。因此,我试图在执行所述操作的控制器方法中完成此操作。
所以我想知道排序和选择是否应该存储在模型中,UI应该更薄(逻辑更少)。因为现在我发现控制器调用 UI 来获取可见列表顺序有点奇怪。你们有什么感想?
解决方案
我相信这取决于您想要实现的目标。在我看来,我通常倾向于使用Passive View。如文章中所述,它确保 View 的职责是渲染 Controller 提供的任何内容。因此,为了将其与您的问题联系起来,我认为可以在模型中进行所有数据操作。这也将增加您的视图的可测试性
推荐阅读
- sql - SQL Max 函数返回两个结果,尽管只需要其中一个
- node.js - html-pdf 调整内容以适应 PDF
- linux - 计数器循环不会在期望内递增
- apache-kafka - 使用 SASL_SSL/OAUTHBEARER 的集群中的 Kafka Producer 错误
- php - Laravel 语言环境不采用其他日期格式
- python - 如何回复我输入的频道之外的消息?
- javascript - Vuejs - 通过 lodash 去抖动,传递“等待”参数
- oracle - 如何在目标中识别附加到目标 Oracle 表且随后从其数据源中删除的数据记录?
- r - 如何根据从外部数据框中检索数据的公式添加列?
- java - JNI MattoBitmap 异常