Avere il chaining implementato su bean è molto utile: non c'è bisogno di sovraccaricare costruttori, mega costruttori, fabbriche e ti dà una maggiore leggibilità. Non riesco a pensare ad alcun aspetto negativo, a meno che tu non voglia che il tuo oggetto sia immutabile , nel qual caso non avrebbe comunque alcun setter. Quindi c'è una ragione per cui questa non è una convenzione OOP?
public class DTO {
private String foo;
private String bar;
public String getFoo() {
return foo;
}
public String getBar() {
return bar;
}
public DTO setFoo(String foo) {
this.foo = foo;
return this;
}
public DTO setBar(String bar) {
this.bar = bar;
return this;
}
}
//...//
DTO dto = new DTO().setFoo("foo").setBar("bar");