Während des Schreibens der Code-Richtlinien für ein Unternehmen empfahl ich , anstelle von Teleskopkonstruktoren das Builder-Muster von Effective Java zu verwenden.
Wenn Sie jedoch etwas genauer darüber nachdenken, ist es sicherlich eine elegantere Lösung, nur die Builder-Klasse und die zusätzlichen Konstruktoren mit optionalen Argumenten zu entfernen.
Haben Sie also nur den einen Konstruktor mit den erforderlichen Parametern, normalen Gettern / Setzern und kommentieren Sie den Code. Erstellen Sie bei der Implementierung einfach eine neue Instanz Ihres Objekts und legen Sie die Werte fest.
Mein ursprünglicher Gedanke war, dass der Vorteil darin bestand, die Verwirrung darüber zu beseitigen, welche Parameter optional waren und welche erforderlich waren. Der wahre Vorteil liegt jedoch in der Verwendung von Methodenverkettung / fließender Schnittstelle.
Das Builder-Muster hat Vorteile, wenn Sie viele neue Instanzen erstellen, da die Idee die Beinarbeit erledigen kann und wenn es viele (15+) optionale Parameter gibt. Lohnt es sich jedoch, die statische innere Klasse zusätzlich zu codieren? Würden Sie die Verwendung des Builders empfehlen oder ist dies Zeitverschwendung?