Java 如何创建一些查询机制-面向对象设计
我有一些对象集(类MyObject)。每个对象由三个字符串标识,分别命名为Java 如何创建一些查询机制-面向对象设计,java,oop,Java,Oop,我有一些对象集(类MyObject)。每个对象由三个字符串标识,分别命名为类型,实例,名称。我将调用这些字符串description。 我想创建一种机制,根据说明的一部分或完整的说明获取适当的对象。 如果我有以下对象: Object 1. has type:myType; instance:myInstance; name:myName; Object 2. has type:myType; instance:myInstance2; name:myName2; Object 3. has ty
类型
,实例
,名称
。我将调用这些字符串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
,或者反之亦然?您同事的图表似乎只是此调用的一个示例:
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 A=get(“myType2”);
MyObjectCollection B=A.get(“myInstance3”)
MyObjectCollection C=B.get(“myName4”)
然后C将包含MyObject 4
MyObjectCollection<MyObject> A = get("myType2");
MyObjectCollection<MyObject> B = A.get("myInstance3")
MyObjectCollection<MyObject> C = B.get("myName4")