[JAVA] 빌더 패턴(Builder Pattern) 사용해야 하는 이유

    [JAVA] 빌더 패턴(Builder Pattern) 사용해야 하는 이유

    생성자는 빌더패턴에 비해 단점이 너무 많다

    • 매개변수가 많을 경우에 대응이 어렵다.
    • 생성자 호출을 위해서 설정하길 원하지않는 매개변수의 값까지 지정해줘야하는 불편함
    • 실수로 매개변수의 순서룰 바꿀수있다.

     

    자바빈즈 패턴

    • 매개변수가 없는 생성자로 객체를 만든 후 Setter메서드를 사용하여 매개변수의 값을 설정하는 방식
    • 디폴트 생성자를 통해 객체만 생성하고 필요한 경우 매개변수들을 setter로 값을 설정해주는데 
      매개변수의 갯수가 너무 많다면 객체가 생성되기 전까지 일관성이 깨지게된다.
    • 디버깅이 어렵다

     

    빌더패턴

    • 위와같은 단점을 해결하기 위해 나온게 빌더패턴 (Builder Pattern)이다.
    • 점층적 생성자 패턴의 안전성과 자바빈즈 패턴의 가독성을 겸비한 패턴이다.
    • 빌더는 생성할 클래스 안에 정적 멤버 클래스(static class) 로 만드는게 일반적이다.

    단점

    • 성능에 민감한 상황에서는 문제가 될 수 있다.
    • API는 시간이 지날수록 매개변수가 많아지는 경향이 있으므로 코드가 더 커질 가능성이 있다.

     

    댓글

    Designed by JB FACTORY