Builder Pattern을 사용하는 경우 왜 객체 구성에 액세스하기 위해 빌더 객체를 재사용하면 안됩니까? 예를 들어 :빌더 패턴을 사용할 때 빌더 오브젝트를 다시 사용하여 오브젝트 구성에 액세스하면 안됩니까?
정상적인 방법 :
ObjectA(ObjectBuilder b) {
this.a = b.getA();
}
public Object getA(){
return this.a;
}
그런데 왜 난 그냥이 사용할 수 없습니다
ObjectA(ObjectBuilder b) {
this.builder = b;
}
public Object getA(){
return this.builder.getA();
}
감사합니다 :)
이
빌더 사용에 관한 요점은 변경 불가능한 객체를 빌드하는 것입니다. 빌더는 변경 가능하며, 빌드 할 수없는 것은 아닙니다. 빌더에 위임 한 경우 인스턴스가 다시 변경 가능합니다. 'ObjectBuilder'의 동일한 인스턴스에 대한 참조가있는 사용자는 누구나 'ObjectA'를 변경할 수 있습니다. 가변 객체를 원한다면 빌더를 사용할 필요가 없습니다. 단지'ObjectA'에 세터 만 있으면됩니다. –
꽤 좋은 답변입니다. A가 생성자 다음에 변경되는 것을 원하지 않는다는 것은 사실입니다. 그래서 처음부터 빌더를 사용했습니다. –