শিমের উপর শৃঙ্খলা প্রয়োগ করা খুব সুবিধাজনক: ওভারলোডিং কনস্ট্রাক্টর, মেগা কনস্ট্রাক্টর, ফ্যাক্টরিগুলির প্রয়োজন নেই এবং আপনাকে পাঠ্যতা বাড়িয়ে তোলে। আমি কোনও ডাউনসাইডের কথা ভাবতে পারি না, যদি না আপনি চান যে আপনার অবজেক্টটি অপরিবর্তনীয় হতে পারে, সেক্ষেত্রে এটির কোনও সেটটার না থাকুক । সুতরাং এটি কোনও ওওপি কনভেনশন না হওয়ার কারণ রয়েছে কি?
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')