1

在我们的 RCP 应用程序中,我们有需要 a 的视图C,并使用 an从andIAdapterFactory到达那里。问题是虽然速度很快,但速度要慢得多(例如,数据库或文件系统查找)并且应该在 UI 作业中完成。ABA->CB->C

我们考虑过在 UI 作业中使用CProxyorLightweightC并询问代理或服务C,但是这个解决方案感觉它破坏了适配器的预期目的,因为视图需要知道它们C不能通过适配器工厂。

在这种情况下是否有最佳实践,或者我是否被迫让我的观点理解有时需要更昂贵的转换?

4

1 回答 1

1

我不会将适配器用于昂贵的操作。在这种情况下,我将 A 或 B 传递给应该可视化适配对象(例如,通过 SelectionService)并可视化目标视图中正在运行的操作的视图,通常在视图的右上角有一个进度监视器,它将可视化 C ,安排适配操作(作为非 UI 作业)并可视化 C。优点是您的 UI 不会被阻塞,您也可以在此作业中调用您的适配器(通过 Platform.getAdapterManager().getAdapter(...))对于用户恕我直言,这是最透明的方式。

于 2010-03-03T11:43:46.467 回答