2013-11-04 3 views
5

Wann klonen (nicht die Definition bitte)? Ich kann ein Objekt initiieren und das Objekt verwenden, warum also Klon in der realen Welt verwenden?Motivation für Klon-Objekte

Was ist die Motivation für flache Klonen (ich weiß, dass es die Werttypen kopiert und einen Verweis auf den Referenztyp machen)?

bitte geben Sie mir ein Beispiel aus der realen Welt und nicht die Definition von Klonen, tiefen Klonen oder flachen Klonen.

danke im voraus.

Antwort

4

bitte geben Sie mir

eine Beispiele aus der realen Welt Wenn Sie ein Objekt haben, die nicht Thread-sicher ist, aber Sie können es mehrere unabhängige Instanzen klonen Sie dann die einzelnen Instanzen auf verschiedenen Threads verwenden können.

1

bitte geben Sie mir ein Beispiel aus der realen Welt

Ein Beispiel, das ich vor einigen Tagen verwendet:

I basierte auf einem Drittes Komponente eine Komponente zum Drucken verschiedene Art von Dokumenten entwickelt .

In meinem Kontext ist dies eine komplexe Konstruktion und nicht "billig" und "einfach" zu instanziieren. Manchmal brauche ich mehr als eine Druckkomponente. Also benutze einen seichten Klon und ersetze nur das config-object ("Unterobjekte" der Druckkomponente, die alle druckrelevanten Umgebungsinformationen liefert) mir was ich brauche mit wenig Aufwand.

0

Ein Beispiel könnte sein, dass Sie Ihre aktuellen Objektwerte beibehalten möchten und unter bestimmten Bedingungen einen Rollback auf den vorherigen Wert durchführen möchten. Denken Sie an Einstellungen für eine Anwendung. Im Einstellungsfenster können Sie Abbrechen oder Speichern drücken. Wenn Sie Abbrechen drücken, müssen Sie alle Änderungen verwerfen. So klonen Sie Einstellungsobjekte, zeigen sie dem Benutzer und wenn Sie gedrückt werden, speichern Sie einfach Werte von geklonten Objekten und setzen Sie sie auf reales Objekt