问题描述
我有一个网络类,它存储有关对象的信息,这些对象也可能相互引用。对象也有继承自 Object 超类的子类(不在示例代码中)。
public class Network {
private Map<String Id,Object> idToObject; //registers all objects and their id
private Map<Object,Object> objectToObject;
private Map<ObjectSubclass> objectSubclas; //list of objects of one of the subclasses
}
public class Object{
private String id; //required
private Object object2; //optional
private int relativePosition; //optional based on object2
}
对象有几种可能的引用关系和嵌套(未在示例代码中全部显示)。网络 idToObject 映射必须跟踪它持有的对象以及几个列表。对象直接相互引用是不是很糟糕?
实现接口或中介模式会更好(不确定这是不是中介模式?),如下所示:
public interface IdContainer
{
String getId();
void setId(String id);
Set<IdRefContainer> getReference();
Network getNetwork();
}
public interface IdRefContainer //For Objects which can reference an Object
{
String getIdRef();
void linkTo(IdContainer idc,int relativePosition);
void unlink();
int relativePosition();
Network getNetwork();
}
public class Object implements IdContainer{ ...}
public class ObjectSubclass implements IdRefContainer{ ...}
public class Network {
private Map<String Id,IdContainer> idToObject; //registers all objects and their id
private Map<IdContainer,IdContainer> objectToObject;
private Map<ObjectSubclass> objectSubclas; //list of objects of one of the subclasses
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)