Java-Builder Pattern
- Telescoping Pattern은 생성자 overloading을 말하며 인수가 여러개면 가독서이 떨어진다.
- JavaBeans Pattern은 getter, sgetter 메소드를 이용하는 방법을 말한다. 하지만 중간에 객체 상태가 노출되고 초기화 과정에서 객체를 참조하면 문제가 된다. 또한 언제든지 객체가 변경 될 수 있기 때문에
immutable
하지 않다.
이러한 객체 초기화 문제점들을 Builder Pattern
으로 해결한다.
public class BuilderPattern {
private int a;
private int b;
private int c;
private int d;
public static class Builder{
private int a;
private int b;
private int c;
private int d;
public Builder a(int a){
this.a = a;
return this;
}
public Builder b(int b){
this.b = b;
return this;
}
public Builder c(int c){
this.c = c;
return this;
}
public Builder d(int d){
this.d = d;
return this;
}
public BuilderPattern build(){
return new BuilderPattern(this);
}
}
private BuilderPattern(Builder builder){
a = builder.a;
b = builder.b;
c = builder.c;
d = builder.d;
}
}
BuilderPattern builderPattern = new BuilderPattern.Builder().a(1).b(2).c(3).d(4).build();
출처
'Computer Science > Design Pattern' 카테고리의 다른 글
Java-Singleton Pattern (0) | 2017.08.22 |
---|