【发布时间】:2020-02-26 01:21:15
【问题描述】:
我想知道天气是否有更好的解决方案来解决我的问题。 更好的是,并非 Segment 类的每个对象都必须创建一个新的数据库对象。
我试图在我的程序中只保留一个数据库,因为数据库非常大,我确信有一个更有效的解决方案。
数据库将 SegmentInformetion 类的对象保存在一个列表中。每个 Object 包含每个 Segment 对象实例化所需的许多信息。
图层类包含一个段列表。 Layers 构造函数包含一个带有 ID 的数组。每个 Segment 都会根据调用数据库的 ID 从数据库中获取其信息。
Database {
List<SegmentInformation> segInfoList;
public SegmentInformation getSegInfos( int id ){
return segInfoList.get(id);
}
}
Layer{
List<Segments> segmentList;
public Layer( int[] segmentIDs ){
for (int i : segmentIDs){
segmentList.add( new Segment( segmentIDs[i] ) );
}
}
}
Segment{
double value1;
//....
double valuenN;
public Segment(int sID){
Database db = new Database();
SegmentInformation info = db.getSegInfos( sID );
value1 = info.getValue1();
//....
valueN = info.getValueN();
}
}
我试图避免包含数据库的全局静态变量。 对于更合适的方式来实例化所有 Segment 对象有什么建议吗?
【问题讨论】:
标签: java oop object-oriented-analysis