MVP 执行视图中的方法

Han*_*del 0 c# mvp dependency-injection winforms c#-4.0

您打算如何从 Presenter 中调用 View(即 MainForm 部分类)中的方法。我是否必须将它添加到 View 实现的接口中,哪个是 DI 到 Presenter 中的?

如果没有,首选的方法是什么?

将所有这些方法添加到界面似乎有点奇怪,这样我就可以在视图中执行 UI 方法。

Dar*_*rov 5

View 实现了一个接口。Presenter 将此接口作为构造函数参数。因此,只有属于此接口的成员才能从 Presenter 中调用。如果你在你的视图(表单)中定义了一些其他方法,这些成员应该是私有的,并且演示者不应该知道关于它们的任何信息。

将所有这些方法添加到界面似乎有点奇怪,这样我就可以在视图中执行 UI 方法。

这就是 MVP 模式的工作原理。Presenter 通过该视图实现的接口间接操作该视图。