Controllers从View获取数据可以吗? MVC
Is it okay for Controllers to get data from View? MVC
我正在开发一个应用程序,并且显示了项目(比如文件)的网格。我正在使用 MVC 概念,其中
- 模型:保存文件列表的吸气剂(未排序)
- 控制器:保存由 UI
触发的操作的接口
- 视图:显示列表的UI。视图决定保存文件的 selection 以及文件的排序方式。它有按钮,用户可以在其中决定排序标准。这些设置存储在视图本身中。
我要求用户可以 select 多个文件并执行操作。操作完成后,应该 select 编辑一个不同的文件。此 selection 基于用户查看文件的顺序(例如 select 下一个适用行)。该逻辑仍然与后端相关,但它取决于 UI 中显示的顺序。因此,我试图在执行上述操作的控制器方法中完成此操作。
所以我想知道是否应该将排序和 selection 存储在模型中,而 UI 应该更薄(逻辑更少)。因为现在我发现控制器调用 UI 来获取可见列表顺序有点奇怪。大家怎么看?
我相信这取决于您想要实现的目标。在我看来,我通常会使用 Passive View。如文章中所述,它确保 View 的责任是呈现 Controller 提供给它的任何内容。因此,为了将其与您的问题联系起来,我认为可以在模型中进行所有数据操作。这也将增加您的视图的可测试性
我正在开发一个应用程序,并且显示了项目(比如文件)的网格。我正在使用 MVC 概念,其中
- 模型:保存文件列表的吸气剂(未排序)
- 控制器:保存由 UI 触发的操作的接口
- 视图:显示列表的UI。视图决定保存文件的 selection 以及文件的排序方式。它有按钮,用户可以在其中决定排序标准。这些设置存储在视图本身中。
我要求用户可以 select 多个文件并执行操作。操作完成后,应该 select 编辑一个不同的文件。此 selection 基于用户查看文件的顺序(例如 select 下一个适用行)。该逻辑仍然与后端相关,但它取决于 UI 中显示的顺序。因此,我试图在执行上述操作的控制器方法中完成此操作。
所以我想知道是否应该将排序和 selection 存储在模型中,而 UI 应该更薄(逻辑更少)。因为现在我发现控制器调用 UI 来获取可见列表顺序有点奇怪。大家怎么看?
我相信这取决于您想要实现的目标。在我看来,我通常会使用 Passive View。如文章中所述,它确保 View 的责任是呈现 Controller 提供给它的任何内容。因此,为了将其与您的问题联系起来,我认为可以在模型中进行所有数据操作。这也将增加您的视图的可测试性