gpt4 book ai didi

java - 避免使用 if 语句创建对象

转载 作者:行者123 更新时间:2023-11-29 09:11:02 24 4
gpt4 key购买 nike

我有一个遗留应用程序,它使用不可变对象(immutable对象),这些对象在每个构造函数中创建时都会进行一些验证。每个对象都进行自己的验证,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()));

这使我的代码更好,但也更慢。有人看到解决这个问题的任何优雅方法吗?

问候,

迈克

最佳答案

如果我没猜错,你想去掉那么多 If 语句。如果您使用一些接受响应并相应地返回输出的模板引擎不是很好吗?美妙之处在于您可以在模板中只有一个 If 语句,它根据输入响应驱动对象创建逻辑。尝试 Velocity Template Engine .

关于java - 避免使用 if 语句创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12476245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com