ビルダーパターンについていくつか質問があることは知っています。
-サブクラスのコンストラクターからビルダー パターンを
使用する
-いつビルダー パターンを使用する か
-特定のクラスでビルダー パターンを改善する Java
-ビルダー デザイン パターン なぜディレクタが必要なのか
これまでのところ、ブロッホ アイテム 2 で説明されているようなビルダー パターンを使用しました。
昨日、細かいところを変えました。デフォルト値のパブリック コンストラクターを追加しました。したがって、必要な値を持つ複雑なオブジェクトのビルダーまたは単純なオブジェクトのコンストラクターの両方を使用できます。
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);
}
}
}
しかし、これに設計上の欠陥があるかどうかはわかりません。クラスを完成させれば、不利な点はないと確信しているからです。したがって、簡単なケースでは、Blob コンストラクターを呼び出すことができます。
new Blub("1a");
それ以外の
(new Blub.Builder("1a")).build();
しかし、クラスをファイナライズしないと、クラスを拡張して、新しいコンストラクターであらゆる種類のことを行うことができます。そして、これを台無しにするケースがないかどうかはわかりません。何か案が?