बीन्स पर लागू होने वाली चेनिंग बहुत आसान है: निर्माणकर्ताओं, मेगा कंस्ट्रक्टरों, कारखानों को ओवरलोड करने की कोई आवश्यकता नहीं है, और इससे आपको पठनीयता में वृद्धि होती है। मैं किसी भी गिरावट के बारे में नहीं सोच सकता, जब तक आप नहीं चाहते कि आपकी वस्तु अपरिवर्तनीय हो , जिस स्थिति में यह किसी भी तरह से नहीं होगा। तो क्या यह 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')