我一直在尝试使用MVP模式重构一个混乱的应用程序。但现在我正在为以下问题而苦恼:
一个表单有一个按钮,该按钮调用DoWork方法(一个后台工作器)进行长时间操作。我的问题是,如果我将长时间操作从视图移动到Presenter中,那么如何将此操作的进度更改发送到视图? BGW也必须在Presenter中吗?
您能否给我一个如何做到这一点的示例?
提前致谢。
一个表单有一个按钮,该按钮调用DoWork方法(一个后台工作器)进行长时间操作。我的问题是,如果我将长时间操作从视图移动到Presenter中,那么如何将此操作的进度更改发送到视图? BGW也必须在Presenter中吗?
您能否给我一个如何做到这一点的示例?
提前致谢。
MyPresenter
应该包含一个对 viewer 的IView
引用,否则它将无法与 viewer 进行通信。请使用接口而不是MyView
,以便于其他 viewer 实现可以在不更改 presenter 的情况下使用。请单击此处查看 MVP 模式的具体实现:https://msdn.microsoft.com/en-us/library/ff649571.aspx - smwikipedia