Лучший способ обновить несколько полей объекта Java - PullRequest
2 голосов
/ 15 декабря 2011

Я хочу обновить несколько полей объекта Java одновременно, чтобы выполнить проверку обновления.Моя идея выглядит так:

SomethingValues values = new SomethingValues();
values.name = "abc";
values.amount = 12;
values.weight = 42.2;
...
something.update(values);

Альтернативой может быть SomethingValuesBuilder, но я думаю, что дополнительный код, необходимый для компоновщика, здесь не нужен.

Если бы я использовалсеттеры ...

something.setName("abc"); // would perform check
something.setAmount(12);  // would perform check
...

... Мне нужно выполнить проверку каждого сеттера, а не только один раз для всех полей в методе update.

Есть личто может быть лучше, чем обновить объект домена (something) с помощью объекта дополнительного значения (values)?

Ответы [ 3 ]

0 голосов
/ 15 декабря 2011

Я думаю, что чаще всего используется Map<String, Object>, потому что он не требует никаких дополнительных классов.

Примеры:

0 голосов
/ 21 мая 2019
import org.springframework.beans.BeanUtils;

BeanUtils.copyProperties(source, target);
0 голосов
/ 15 декабря 2011

Обычно я выбираю SomeObjectType.update(parameters), в котором объект отвечает за проверку и настройку всех параметров, и в конечном итоге выдает IllegalArgumentException в случае, если некоторые параметры не принимаются. Таким образом, вы получите лучшую читаемость и инкапсуляцию.

...