Mehrere optionale Argumente im Konstruktor in Java - Exponentielle Anzahl von Konstruktoren

Dies ist etwas, auf das ich einige Male gestoßen bin und das ich noch keine zufriedenstellende Antwort gefunden habe. Das scheint ziemlich dumm zu sein, aber nachdem ich eine Weile gegoogelt habe, konnte ich mir nichts Gutes einfallen lassen.

Angenommen, ich habe eine Klasse mit 20 Instanzvariablen, von denen jede optional ist (wird initialisiert oder nicht).

Jetzt möchte ich, dass meine Konstruktoren alle Fälle behandeln. Bei einigen Instanzvariablen ist dies in Ordnung, und ich kann nur Konstruktoren mit unterschiedlichen Signaturen erstellen, aber hier habe ich 20, also würde ich brauchen2 ^ 20 = 1.048.576 Konstrukteure, um alle Fälle zu behandeln! Das scheint ... nicht sehr optimal, stimmst du nicht zu?

Da ich mit diesem Brute-Force-Ansatz im Grunde genommen 2 ^ n Konstruktoren konstruieren muss, wobei n die Anzahl der Instanzvariablen ist, möchte ich einen besseren Weg finden, dies zu tun.

Ich habe ein paar Lösungen für dieses Problem gesehen, aber ich glaube, sie alle basieren auf Annahmen zu den Daten, aber in meinem Fall kann jede dieser Variablen zufällig oder nicht zufällig initialisiert werden. Ich habe keine Möglichkeit, das vor der Initialisierung zu wissen.

Ich suche nach Designmustern oder Ideen, die ich anwenden könnte, um meinen Code ein bisschen wartbarer zu machen ... (keine Sorge, ich habe keine 1M + -Konstruktoren erstellt :)

Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage