【问题标题】:GWT: Provider vs AsyncProviderGWT:提供者与 AsyncProvider
【发布时间】:2013-03-26 06:52:59
【问题描述】:

GWT 中的 provider 和 AsyncProvider 有什么区别。我的理解是两者都用于代码拆分和延迟实例化。 所以我无法决定,在哪种情况下我们选择 Provider 而不是 AsyncProvider ?

提前致谢!

【问题讨论】:

标签: gwt gwt-gin gwtp


【解决方案1】:

Provider是关于:

  • 延迟实例化(但实例化是瞬时的,同步的);仅供参考,Dagger 为这个用例引入了 Lazy 类型。
  • 对象工厂:除非对象是作用域的,否则每次调用get() 都会为您提供一个新对象
  • 在寿命较长的作用域中使用寿命较短的作用域对象:如果您需要从单例作用域(或会话作用域)对象访问请求作用域对象,则必须使用Provider,否则您将从当前请求范围内注入一个对象,该对象不能用于下一个请求。 GIN 仅支持Singleton 范围操作系统,它真的 在这里并不适用,因为它只是上述工厂用例的变体;但在服务器端(使用 Guice、Spring DI、Dagger 等),servlet 或 RequestFactory 服务/定位器是单例(或 RF 的伪单例),这是 DI 框架的关键部分。

AsyncProvider 是一样的除了它是异步的,包装了对GWT.runAsync()的调用。

换句话说:只有AsyncProvider 真正是关于代码拆分的。 Provider 会影响代码拆分输出,但与任何工厂(手工编码,或 GIN 的 AssistedInject)没有什么不同。

【讨论】:

    猜你喜欢
    • 2013-02-06
    • 2019-12-01
    • 2019-12-02
    • 2019-12-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多