Eclipse rcp IAdapterFactory适用于昂贵的可适应环境?

Eclipse rcp IAdapterFactory适用于昂贵的可适应环境?,eclipse-rcp,rcp,adapter,Eclipse Rcp,Rcp,Adapter,在我们的RCP应用程序中,我们有需要C的视图,并使用IAdapterFactory从a和B到达那里。问题在于,虽然A->C很快,但B->C要慢得多(例如,数据库或文件系统查找),应该在UI作业中完成 我们曾考虑过在UI作业中使用CProxy或LightweightC并向代理或服务请求真实的C,但这种解决方案感觉好像破坏了适配器的预期用途,因为视图需要知道它们不能通过适配器工厂直接访问C 在这种情况下是否有最佳实践,或者我是否被迫让我的观点理解有时需要更昂贵的转换?我不会使用适配器进行昂贵的操作。

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

我们曾考虑过在UI作业中使用
CProxy
LightweightC
并向代理或服务请求真实的
C
,但这种解决方案感觉好像破坏了适配器的预期用途,因为视图需要知道它们不能通过适配器工厂直接访问
C


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

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

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