작성자 패턴에 대해 몇 가지 질문이 있습니다.
- Use builder pattern from the constructor in a subclass
은 - When would you use the builder pattern
- Java improving builder pattern on a specific class
- 좀 작은 세부 사항을 변경 2.작성자 패턴이 공용 생성자와 일치 함
어제 블로흐 항목에 descripted처럼 Builder design pattern why do we need a director
지금까지 내가 빌더 패턴을 사용했다. 나는 기본값을위한 public 생성자를 추가했다. 따라서 복잡한 객체에 대해 Builder를 사용하거나 필요한 값을 가진 단순 객체에 대해 생성자를 사용할 수 있습니다.
public class Blub {
private final String id;
public Blub(final String id) {
this(Blub.Builder(id));
}
private Blub(Builder builder) {
this.id = builder.id;
}
public static class Builder {
private final String id;
public Builder(final String id) {
this.id = id;
}
public Blub build() {
return new Blub(this);
}
}
}
하지만 설계상의 결함이 있는지 확실하지 않습니다. 왜냐하면 내가 수업을 마무리하면 단점이 없다는 것이 확실하기 때문입니다. 쉬운 경우, Blub 생성자를 호출하는 것이 가능할 것입니다.
new Blub("1a");
대신
(new Blub.Builder("1a")).build();
의
하지만 클래스를 완료하지 않으면 그것을 확장하고 새로운 생성자에서 물건의 모든 종류의 일을 할 수있을 것입니다. 그리고 지금 이것을 망칠 사건이 없는지 확실하지 않습니다. 어떤 생각?
누군가가 수업을 듣는다면, 올바르게하는 것이 그들의 임무입니다. 그들이 그렇게 잘못하면 어떻게 될지 걱정하지 않을 것입니다. 멍청한 놈은 고칠 수 없어. 그 문제에 관해서는 모든 클래스의 모든 메소드를 오버라이드 (override) 할 수있어, 정반대의 것을해야합니다. 그러니 걱정하지 마세요. –
@GabeSechan 와우, 나는 더 이상 동의 할 수 없다. 클래스는 상속을 위해 설계되거나 금지되어야합니다. 소프트웨어에 미래의 버그를 만들고 있습니다. –
@Christian 마지막으로 Blub을 만드는 데있어 어떤 문제가 있습니까? –