2014-10-08 1 views
2

Joshua Bloch는 너무 많은 구성 옵션 또는 너무 많은 생성자 인수가있는 클래스에 대한 솔루션으로 빌더 패턴을 제안합니다.Java Builder 패턴 (Bloch)은 실제로 GOF 빌더와 관련이 있습니까?

GOF 빌더는 기본적으로 "객체의 표현과 표현을 분리"하거나 기본적으로 동일한 기본 클래스를 가진 다른 최종 제품에 대한 추상 작성 알고리즘을 작성하려고합니다.

둘 다 창조적 인 패턴 이외의 다른 패턴은 아니지만 동일한 패턴이 아니라 밀접한 관련이 있습니다.

Bloch의 Java Builder는 실제로 빌더와 동일한 종류입니까?

+0

내가 말할 수있는 한, 유일한 다른 점은 GOF Builder 패턴에서 유창한 관용어를 사용하지 않는다는 것입니다. 그러나이 두 가지의 목적과 목적은 동일합니다. 빌드 로직을 최종 객체 표현과 분리하여 텔레 스코핑 생성자를 피하십시오. – biziclop

답변

1

나는 그렇다고 생각합니다. Bloch의 예제에는 명시적인 Director 클래스가 없습니다. 그의 예에서 당신이 건축하고있는 곳의 반은 감독입니다. 다른 클래스에서는 다른 디렉터가 될 다른 방법으로 건물을 짓게됩니다. GOF에서 Director는 명확성을 위해 더 많이 사용합니다. 그러나 당신은 같은 인터페이스의 객체를 얻고있다 (또는 동일한 기본 클래스를 하위 클래스 화).

+1

암시 적 디렉터 접근 방식의 결과는 또 다른 차이점입니다. 기존 객체를 프로토 타입으로 사용하여 빌더를 쉽게 만들 수 있습니다. 명시 적 디렉터를 사용하면 객체의 전체 내부 상태를 노출시켜야합니다. – biziclop