これは私が数回遭遇したものであり、満足のいく答えをまだ見つけることができていません。これはかなりばかげているように見えますが、しばらくこれをグーグルした後、私は何か良いものを思い付くことができませんでした。
20個のインスタンス変数を持つクラスがあり、それぞれがオプションであるとしましょう(初期化されるかどうかは関係ありません)。
ここで、コンストラクターですべてのケースを処理する必要があります。インスタンス変数がいくつかある場合は問題なく、異なるシグネチャでコンストラクターを作成できますが、ここでは20個あるため、2 ^ 20=1,048,576個のコンストラクターが必要になります。すべてのケースを処理します!それは...あまり最適ではないようです、あなたは同意しませんか?
したがって、このブルートフォースアプローチでは、基本的に2 ^ n個のコンストラクターを作成する必要があるため、nはインスタンス変数の数であるため、より良い方法を見つけたいと思います。
この問題の解決策をいくつか見てきましたが、それらはすべてデータの仮定に基づいていると思いますが、私の場合、これらの変数はそれぞれ初期化できるか、ランダムではないので、初期化する前にそれを知る方法がありません。
コードをもう少し...保守しやすくするために適用できるデザインパターンやアイデアを探しています(100万以上のコンストラクターを作成しなかったので心配しないでください:)
ありがとう。