Java GWT RequestFactory-如何正确初始化它?
我的GWT应用程序遵循MVP模式,通过singletonJava GWT RequestFactory-如何正确初始化它?,java,unit-testing,gwt,junit,requestfactory,Java,Unit Testing,Gwt,Junit,Requestfactory,我的GWT应用程序遵循MVP模式,通过singletonEventBus和Display+Presenter在活动中绑定在一起(借助GIN): 通常,我使用GIN将特定的RequestFactory的新实例注入特定的Presenter。我的演示者有start()方法,在这里我可以传递代表活动创建的EventBus实例(ResettableEventBus) 我假设让GIN创建并注入MyRequestFactory的新实例总是安全的。但是如果我想使用RequestFactorySource对MyP
EventBus
和Display
+Presenter
在活动中绑定在一起(借助GIN):
通常,我使用GIN将特定的RequestFactory
的新实例注入特定的Presenter
。我的演示者有start()
方法,在这里我可以传递代表活动创建的EventBus
实例(ResettableEventBus
)
我假设让GIN创建并注入MyRequestFactory
的新实例总是安全的。但是如果我想使用RequestFactorySource
对MyPresenter
进行单元测试,我宁愿使用以下方法初始化RequestFactory
:
requestFactory.initialize(eventBus, new InProcessRequestTransport(processor));
问题来了。我是否可以在范围单例中绑定MyRequestFactory
(生成的实例是否保持任何状态?),并使用我的单例EventBus
全局初始化它(它是否依赖于活动的EventBus
)-结果是什么?我假设注入到MyPresenter
的MyRequestFactory
实例已经初始化用于生产或测试。另一个解决方案是将一些额外的RequestFactory
初始化策略注入MyPresenter
,但是否有必要?RequestFactory
被设计为用作单例
假设您还有一个应用程序范围的事件总线,它的工作原理与您现在使用的一样:RequestFactory只发布到事件总线,它不侦听事件。RequestFactory
被设计为用作单例
假设您还有一个应用程序范围的事件总线,它的工作原理与您现在使用的一样:RequestFactory只发布到事件总线,而不侦听事件
public MyPresenter {
@Inject MyRequestFactory requestFactory;
public void start(EventBus eventBus) {
requestFactory.initialize(eventBus);
...
}
...
}
requestFactory.initialize(eventBus, new InProcessRequestTransport(processor));