【发布时间】:2011-01-28 22:53:36
【问题描述】:
我有大量由名称(字符串)标识的对象。所以,我想要一种从对象名称到类实例的映射。
有人告诉我,在这种情况下,我可以使用这样的“存储库”类:
Server myServer = ServerRepository.getServer("NameOfServer");
因此,如果已经有一个带有“NameOfServer”的对象(服务器),它将由“getServer”返回。如果这样的对象还不存在,它将由“getServer”创建并返回。
那么,我的问题是如何编写这样一个“存储库”类?在这个类中,我必须能够检查是否存在给定类的实例,以便它具有给定字段的给定值。我该怎么做?我需要对给定类的所有现有对象进行一种循环吗?
我的问题的另一部分是为什么我不能使用关联数组(关联容器、映射、映射、字典、有限映射)? (我不确定你如何在 Java 中调用它)更详细地说,我有一个“数组”,它将对象名称映射到对象。所以,每当我创建一个新对象时,我都会向数组中添加一个新元素:myArray["NameOfServer"] = new Server("NameOfServer")。
【问题讨论】:
-
“所以,我想要一种从对象名称到类实例的映射。”不确定我是否遵循您的逻辑。如果您有大量对象,您的这个存储库将占用大量内存。您要优化什么?
-
听起来对 IoC 容器很有用
标签: java oop repository associative-array