在bean上实现链接非常方便:无需重载构造函数,大型构造函数,工厂,并提高了可读性。我想不出任何弊端,除非您希望对象是不可变的,在这种情况下,它就不会有任何设置方法。那么,这不是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");
myCustomDTO = DTOBuilder.defaultDTO().withFoo("foo").withBar("bar").Build();
我会这样做,以免与二传手就是空白的一般观念相抵触。
new Foo().setBar('bar').setBaz('baz')
感觉很“流利”。我的意思是,肯定可以完全一样地实施,但我非常希望能读到更多类似的东西Foo().barsThe('bar').withThe('baz').andQuuxes('the quux')