0

您好,我目前正在开发一个 xtext 图形编辑器,它有点像 Android 中的 ui 编辑器。您可以通过在图形视图中拖放或在文本编辑器中手动编写代码来创建不同的 ui 组件。要么修改将被序列化到文档中。

所以来了一个问题。因为我需要为整个应用程序提供唯一的文档源,所以我使用了一个单例类。但是我读过一些建议避免使用单例的文章,所以我想通过依赖注入来替换单例类。看起来我必须通过很多类将文档作为参数传递。

有没有办法通过 Guice 自动注入数据源提供程序?(由于 Xtext 已经与 Guice 集成,我也想使用它而不是其他依赖注入框架。)

简单的UML图在这里

谢谢!

4

1 回答 1

0

Guice 本身支持Singleton范围,它不会每次都创建一个新实例。

@Singleton
public class DatasourceProvider{
  /* everything here should be threadsafe! */
}

所以在这里,Guice 会注意只有一个实例,并且每当您要求注入DatasourceProvider时,它都会返回相同的实例。

于 2013-08-05T09:26:15.407 回答