0

我有一组对象(MyObject 类)。每个对象由三个名为type, instance,的字符串标识name。我将调用这些字符串description。我想创建一种机制来根据部分description或完整的description. 如果我有以下对象:

Object 1. has type:myType; instance:myInstance; name:myName;
Object 2. has type:myType; instance:myInstance2; name:myName2;
Object 3. has type:myType2; instance:myInstance3; name:myName3;
Object 4. has type:myType2; instance:myInstance3; name:myName4;

我要那个

get("myType") returns objects 1. and 2.
get("myType").get("myInstance") returns object 1.
get("myType2").get("myInstance3") returns objects 3. and 4.
get("myType2").get("myInstance3").get("myName4") returns object 4.

我的同事向我解释了如何实现这一点,但我不明白:| 他画了下图

图表草稿

这张图上的什么地方MyObject?应该MyObject聚合A,B还是C反之亦然?

4

1 回答 1

0

你同事的图表看起来只是这个电话的一个例子:

get("myType2").get("myInstance3").get("myName4") returns object 4.

如果我们重写它,那么它看起来像......

A = get("myType2");
B = A.get("myInstance3");
C = B.get("myName4");

但是无论 A/B/C 是什么,它的类都需要能够容纳多个项目,所以听起来你需要一个 MyObjectCollection<> 类,并为它实现 get()(它返回一个 MyObjectCollection<>)。

MyObjectCollection<MyObject> A = get("myType2");
MyObjectCollection<MyObject> B = A.get("myInstance3")
MyObjectCollection<MyObject> C = B.get("myName4")

然后 C 将包含 MyObject 4。

于 2013-04-04T23:16:17.643 回答