IAdapterFactory适用于昂贵的适应性?

时间:2010-02-26 21:49:26

标签: eclipse-rcp rcp adapter

在我们的RCP应用程序中,我们的观看次序需要C,并使用IAdapterFactoryAB获取。问题是虽然A->C速度很快,但B->C要慢得多(例如,数据库或文件系统查找),应该在UI工作中完成。

我们考虑过使用CProxyLightweightC并在UI工作中向代理或服务询问真实C,但此解决方案感觉它突破了预期目的适配器,因为要求视图知道他们无法通过适配器工厂直接访问C

在这种情况下是否有最佳做法,或者我被迫让我的观点明白有时需要更昂贵的转换?

1 个答案:

答案 0 :(得分:1)

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