所以我最近被添加到一个新的工作项目中,Java 代码有大约 10-15 个 Singleton 类,它们到处都在使用。这些类的目的是从服务器获取数据(当客户端应用程序启动时)并使该数据可以在整个程序中访问,以便不必每次需要时都进行服务调用,这在我看来是有意义的。
但是,在阅读了许多关于单例有多么糟糕的文章之后,由于紧密耦合和不可测试,我将如何替换它们呢?有人告诉我有关依赖注入(inject)的信息,但我真的想继续将相同的数据传递给应用程序中的几乎每个对象吗?任何建议都是有用的。
最佳答案
在这种情况下我使用依赖注入(inject)(DI),但正如你所说,你不喜欢它。
我能想到的下一件事是FACADE模式,创建一个ApplicationFacade类并在需要的地方DI它。 (或者如果您确实不喜欢 DI,请将其设为静态)
关于design-patterns - 我如何替换这个单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10134850/