Persistenz · Frage 5 von 12
Worin unterscheidet sich eine Entity von einem Value Object im Extbase-Domain-Model?
1 Antwort ist richtig. Einfach
Lösung anzeigen
Lösung
- A Eine Entity hat eine eigene Identität (UID), ein Value Object ist allein durch seine Werte bestimmt
Erklärung
Eine Entity bleibt „dasselbe Objekt“, auch wenn sich ihre Eigenschaften ändern – eine Konferenz mit UID 42 bleibt diese Konferenz, auch wenn sich ihr Titel ändert. Ein Value Object hat keine Identität: Zwei Farben mit demselben Namen und Hex-Wert sind gleichwertig und austauschbar, typische Beispiele sind Geldbeträge, Zeiträume oder Koordinaten. Value Objects sind unveränderlich; statt sie zu ändern, ersetzt man sie durch ein neues Objekt. In TYPO3 v14 schreibt man sie als einfache PHP-Klassen und speichert ihre Werte als Spalten der besitzenden Entity; die Klasse AbstractValueObject ist als @internal markiert und soll nicht erweitert werden.