Ich habe einige Websites bezüglich des Java Builder-Entwurfsmusters besucht. Die meisten von ihnen zeigen, um die Klasse zu erstellen, müssen wir statische verschachtelte Klassen hinzufügen, indem wir die entsprechenden Setter aufrufen und dann die Objekt-Erstellung auslösen. Aber Abfrage ist, warum können wir diese Setter nicht in der gleichen Klasse ohne die statische verschachtelte Klasse verwenden.Warum die geschachtelte Klasse im Builder-Entwurfsmuster verwendet wird, warum können die Setter nicht verwendet werden, um das Objekt in derselben Klasse zu erstellen
0
A
Antwort
2
Aus folgenden Gründen:
a. Es kann vorkommen, dass Sie Ihre Instanz freigelegt haben und Sie sich immer noch in der Mitte der Objekterstellung befinden.
b. Sie möchten Ihre äußere Instanz unveränderlich machen.
c. Sie trennen die Konstruktion des Objekts mit seiner Darstellung.
d. Sie würden mehr Kontrolle über seine Konstruktion und Repräsentation benötigen.
Sie sprechen von mehreren Threads, die auf diesen Code zugreifen? – Aditya
@ user1702457 Unveränderlichkeit ist eine nützliche Eigenschaft für Multithreading, aber allgemeiner erlaubt es Ihnen nur, über den Zustand von Objekten nachzudenken - was Ihnen erlaubt zu wissen, dass Singlethread-Code auch auf eine bestimmte Art funktioniert. –