gpt4 book ai didi

java - Java Collections API 上的依赖注入(inject)

转载 作者:行者123 更新时间:2023-11-30 07:31:05 24 4
gpt4 key购买 nike

我正在编写一个 Java 组件,它将在一些大数据上执行相当繁重的工作。因此,效率(速度和内存)显然是最重要的。

我也是第一次开始使用 IoC 和依赖项注入(inject)框架(例如 Spring AOP、Google Guice 等),并且想知道它们是否可以帮助我。

我想做的是这样的(贯穿我的代码):

List<MyData> oMyData = new List<MyData>();

然后,在一些 XML 配置文件中(或者框架配置注入(inject)),我会指定每次创建 List 的实例时注入(inject),比如说,一个 ArrayList<MyData>。作为其实现。

这样,如果以后我决定使用不同的实现,或者甚至是比 Java Collections 提供的任何东西更适合我的应用程序的自行开发的实现,我只需要更改注入(inject)的类。无需进行其他修改,我的代码运行效率会更高。

这是一个可能的解决方案,还是这只是一个伟大的梦想?同样,因为我对 IoC 框架还很陌生,所以很难说出对象注入(inject)将在哪些对象上起作用,泛型是否可以在注入(inject)过程中保存,以及各种其他复杂的细节,我似乎无法在其他任何地方找到答案。

提前感谢您的任何见解或建议!

最佳答案

这听起来不像是 IOC 容器的经典场景,但您可以使用工厂方法。

public static List<MyData> createDataList(){
return new ArrayList<MyData>();
}

在您的整个应用程序中使用此工厂方法。现在,如果您想使用不同的列表实现,只需更改此方法即可。妈妈,您看,不需要容器。

需要说明的是:IOC 是一个很棒的概念。但我不认为你所说的是国际奥委会的经典场景。

关于java - Java Collections API 上的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7485933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com