design-patterns - 我如何替换这个单例?

标签 design-patterns dependency-injection singleton

所以我最近被添加到一个新的工作项目中,Java 代码有大约 10-15 个 Singleton 类,它们到处都在使用。这些类的目的是从服务器获取数据(当客户端应用程序启动时)并使该数据可以在整个程序中访问,以便不必每次需要时都进行服务调用,这在我看来是有意义的。

但是,在阅读了许多关于单例有多么糟糕的文章之后,由于紧密耦合和不可测试,我将如何替换它们呢?有人告诉我有关依赖注入(inject)的信息,但我真的想继续将相同的数据传递给应用程序中的几乎每个对象吗?任何建议都是有用的。

最佳答案

在这种情况下我使用依赖注入(inject)(DI),但正如你所说,你不喜欢它。

我能想到的下一件事是FACADE模式,创建一个ApplicationFacade类并在需要的地方DI它。 (或者如果您确实不喜欢 DI,请将其设为静态)

关于design-patterns - 我如何替换这个单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10134850/

相关文章:

java - 编写 JUnit 时如何绕过 Runtime.getRuntime()?

dependency-injection - hk2:为什么bind(X.class).to(X.class)

c# - 依赖注入(inject)进一步深入 "chain"

php - 静态方法 : are they still bad considering PHP 5. 3 后期静态绑定(bind)?

java - dom4j库是如何实现享元模式的?

java - 覆盖 @autowired/@Inject Map<String,Object> 的键字符串?

Golang 事务性 API 设计

java - 使用 dao 时初始化对象的最佳方法

c++ - 解耦自定义用户数据