生成器更新Java对象多个字段的最佳方法
我想一次更新Java对象的多个字段,以便对更新执行检查。我的想法是这样的:
SomethingValues values = new SomethingValues();
values.name = "abc";
values.amount = 12;
values.weight = 42.2;
...
something.update(values);
另一种选择是SomethingValuesBuilder
,但我认为构建器所需的额外代码在这里是不必要的
如果我使用setter
something.setName("abc"); // would perform check
something.setAmount(12); // would perform check
...
。。。我需要对每个setter执行检查,而不是对update
方法中的所有字段只执行一次检查
有什么比用附加值对象(values
)更新域对象(something
)更好的主意吗
# 1 楼答案
我想最常用的是
Map<String, Object>
,因为它不需要任何额外的类示例:
# 2 楼答案
我通常使用
SomeObjectType.update(parameters)
,其中对象负责检查和设置所有参数,并在某些参数不被接受的情况下最终抛出IllegalArgumentException
。这样,您可以获得更好的可读性和封装性# 3 楼答案