【发布时间】:2009-02-19 15:42:54
【问题描述】:
我仍在努力让我的大脑围绕 MVP。我应该使用控制器类做什么?那是我访问数据资源的地方吗?
【问题讨论】:
标签: wcsf
我仍在努力让我的大脑围绕 MVP。我应该使用控制器类做什么?那是我访问数据资源的地方吗?
【问题讨论】:
标签: wcsf
控制器应该作用于模型,可能通过服务层调用数据库来填充模型。通常,控制器会根据来自视图的请求对模型执行操作。
视图是屏幕上的演示。
Presenter 处理视图和控制器之间的流程。
将 Presenter 和 Controller 分开的原因可能是您可以将某个控制器与不同的 Presenter 重用等。
【讨论】:
在我看来,presenter 不应该和 UI 技术耦合,应该直接处理模型的服务层。应用程序中应该只有一个控制器,并且可以与 UI 技术紧密耦合。页面导航可以在控制器中抽象出来。我觉得,基于 WCSF 的 MVP-Controller 模式是原始 MVP 模式的轻微变化。
让我建议,Presenter 将被实现以供重用,而控制器则不是。
【讨论】:
MS 的 WCSF 示例中的控制器保存模块中多个演示者共享的数据,公开处理该共享数据的方法,并在 Web 会话中管理共享数据。例如,NewTransfer 演示者和 TransferHistory 演示者使用的汇款对象列表。
只有一位演示者独有的数据只能通过控制器访问,但并非必须如此。在这种情况下,演示者可以自己管理数据访问和 Web 会话数据。
这是我在看了几年的几个例子后的解释,例如
我不确定他们使用的“控制器”定义是谁的,但它与 MVC 中的不一样。
【讨论】: