Immutableなオブジェクト作るとき、Builderパターンを使うそうですが、↓のようなコードではダメなのでしょうか?
Builderだと、Mutableクラスのインスタンス作って、それを新たにImmutableクラスのインスタンス作って返してますよね?
↓のコードであれば、Mutableクラスのインスタンス生成1回で済むので、
Builderより省エネに思えるのですが、このようなコードではダメだから、流行ってないんですよね?
自分で見つけられた問題点は、mutableMemberDtoを書き換えると
immutableMemberも書き換わってしまうことです。ただ、これはそこまで大きいデメリットなのでしょうか?
他にも問題がないか、どなたかご指摘お願いいたします。
---------------------------------------------------------------
public class Main {
public static void main(final String[] args) {
final MutableMemberDto mutableMember = new MutableMemberDto();
mutableMember.setName("javao");
mutableMember.setAge(20);
final ImmutableMemberDto immutableMember = mutableMember;
System.out.println("His name is " + immutableMember.getName());
System.out.println("His age is " + immutableMember.getAge());
}
}
class ImmutableMemberDto {
protected String name;
protected Integer age;
public String getName() {return name;}
public Integer getAge() {return age;}
}
class MutableMemberDto extends ImmutableMemberDto {
public void setName( final String name) {this.name = name;}
public void setAge(final Integer age) {this.age = age;}
}
---------------------------------------------------------------
Builderパターンを参考にした記事
http://qiita.com/disc99/items/840cf9936687f97a482b
Java入門・初心者質問スレ Part.3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
650デフォルトの名無しさん
2017/06/01(木) 23:03:41.54ID:vNOzF29i■ このスレッドは過去ログ倉庫に格納されています
