您如何处理 Model-View-Presenter(或 MVC 或 MV-VM 或您正在使用的任何变体)中的缓慢操作?
当您在 WinForms 或 SWT/JFace 或您正在使用的任何桌面框架中操作缓慢时,您必须在后台线程上运行它以避免完全锁定应用程序。你在哪里处理这个?
我可以看到几个解决方案,但我对其中任何一个都不完全满意:
让视图调用始终在后台线程上调用演示者。这意味着视图必须处理来自演示者的所有调用可能来自后台线程。
让视图在主线程上调用演示者。演示者在执行慢速操作时必须回调视图,以便它可以在后台运行。
你平常都做什么?
编辑:我刚刚看到这篇文章: http: //www.codeproject.com/KB/threads/ThreadedExecuter.aspx。它基本上是2的实现。有没有人尝试过这样的事情?