我有一个遗留应用程序,它与不可变对象一起工作,这些对象在每个构造函数中创建时都会进行一些验证。每个对象都有自己的验证,f。前任。长度检查,范围检查等。
业务对象如下所示:
public class MyObject {
private FieldA fieldA;
private FieldB fieldB;
...
}
对象是通过调用加载数据的 cobol 服务器创建的……这段代码看起来很脏:
if (isFieldSet(response.getValueA())) {
myObject.setFieldA(new FieldA(response.getValueA()));
}
if (isFieldSet(response.getValueB())) {
myObject.setFieldA(new FieldA(response.getValueB()));
}
...
而且因为有很多对象,所以也有很多 if 语句。我可以使用反射改进它并动态创建类。
myObject.setFieldA(createField(A.class, response.getValueA()));
myObject.setFieldA(createField(B.class, response.getValueB()));
这使我的代码更好,但也慢得多。有人看到任何优雅的方法来解决这个问题吗?
问候,
麦克风