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();


출처

http://cleancodes.tistory.com/15


'Computer Science > Design Pattern' 카테고리의 다른 글

Java-Singleton Pattern  (0) 2017.08.22

+ Recent posts