1

私はデザインパターンの初心者です。
ClassAなどのクラスのインスタンスを作成し、そのフィールドの一部を構成ファイルから読み取った値に設定したいと思います。
クラスのコードと値を使用してファイルを管理するコードを区別すると、ClassAは純粋な「ビジネスロジック」クラスになります。

 class ClassA {
    boolean config1;
    String originDB;
    String destDB;
    //other fields not initialized at the construction time
  }

  class ClassAFactory {
    boolean config1;
    String originDB;
    String destDB;        

    public ClassAFactory {
      //constructor of the class factory
      //load config values from file
    }

    public ClassA newInstance() {
     //create a new instance of ClassA and config fields config1, originDB, destDB
    }

  }

ビルダーは「インスタンス化」だけでなく初期化も処理しているように見えるので、これはビルダーパターンだと思います。
しかし、そうでなければ、ビルダーは作成プロセスを段階的に分割することに焦点を当てているようですが、私の場合は1つの(まだ複合的な)ステップしかありません。

ビルダーパターンと見なすことができますか?それとも何か違うのですか?

4

2 に答える 2

3

手順なし-ビルダーなし

    ClassA a = ClassABuilder
            .config(config1)
            .originDB(originDB)
            .destDB(destDB)
            .build();
    // above reads a Builder to me and hopefully to any reader
    //   note above allows to swap, add, remove particular steps


    ClassA a = ClassAFactory.newInstance();
    // above reads Factory to me and hopefully to any reader
    //   note for reader, it's a one-step thing
于 2011-09-13T21:08:39.203 に答える
1

Builderというよりファクトリパターンのように見えます。これは、すべての作業を実行するメソッドが1つしかないためです。通常、ビルダーには、ビルドするオブジェクトのカスタマイズを可能にする一連のセッタースタイルのメソッドがあります。

于 2011-09-13T20:13:30.517 に答える