0

これは、(コンストラクターで) 外部クラスのオブジェクトを構築して開始するだけのタスクである内部クラス (静的ではない) であるクラスを持つことをお勧めしますか? このクラスの存続期間は、外部クラスのコンストラクターの存続期間と等しくなります。

次に例を示します。

OuterClass {
    // (...fields here...)
    private ConstructClass {
        // (...some useful methods and fields here...)
        public ConstructClass(String param1, int param2, ...) {
           // (...construction of OuterClass here...)
        }
    }
    public OuterClass(String param1, int param2, ...) {
        new ConstructClass(param1, param2, ...);
    }
}
4

1 に答える 1

0

ビルダーパターンを再発見しようとしたように思えます:)。オブジェクト全体を作成するのではなく、単一のフィールドのみを設定するようにコンストラクターを変更した方がはるかに良いでしょう。

ビルダーを作成すると、効率がいくらか低下する可能性があります (jvm の追加メモリを予約する必要があります) が、作成する必要があるさまざまなパラメーター化されたコンストラクターの量を大幅に減らすことができます。コードはこの方法ではるかに明確になります。ビルダー パラダイムを満たすようにコードを変更することは考慮に値しますが、最終的な決定はユーザー次第です。

于 2014-06-07T18:13:50.710 に答える