我正在开发一个组件,它应该:
从某些外部计算组件接收数据(项目集合)。我预计每个请求的输入大约有 100-1K 的项目。
验证数据,如果缺失,计算一些属性
持久化数据
大约有十种类型的项目。我使用继承来建模项目。我有一个具有通用属性和计算的基本项目类以及实现类型特定问题的子类。类似于以下示例:
public abstract class BaseItem {
String name;
boolean valid = true;
public void postCalucate() {
//common calculation
valid = valid && (name != null);
}
}
public class ItemA extends BaseItem {
BigDecimal value;
@Override
public void postCalucate() {
//some A specific calculations
super.postCalucate();
}
}
public class ItemA1 extends ItemA {
BigDecimal extraValue;
@Override
public void postCalucate() {
//some A1 subtype specific calculations
valid = isA1ItemValid();
super.postCalucate();
}
}
public class ItemB extends BaseItem {
Integer size;
@Override
public void postCalucate() {
//some B specific calculations
super.postCalucate();
}
}
有没有更好的方法/模式来完成我的任务?有什么建议吗?