Ich habe eine Klasse, die im Wesentlichen veränderbar ist, aber einige "persistent-like" Operationen erlaubt. Zum Beispiel kann ich das Objekt wie folgt aus (in Python) mutieren:Was würden Sie eine nicht persistente Datenstruktur nennen, die persistente Operationen erlaubt?
# create an object with y equal to 3 and z equal to "foobar"
x = MyDataStructure(y = 3, z = "foobar")
x.y = 4
jedoch statt der Dinge auf diese Weise zu tun, es gibt ein paar Methoden, die stattdessen eine Kopie erstellen und es dann mutieren:
x = MyDataStructure(y=3, z="foobar")
# a is just like x, but with y equal to 4.
a = x.using(y = 4)
Dies ist ein Duplikat von x mit verschiedenen Werten. Offensichtlich entspricht dies nicht der Definition von teilweise persistent, gegeben durch wikipedia.
Also was würdest du eine Klasse wie diese nennen? QuasiPersistentObject? PersistableObjekt? SortOfPersistentObject? Besser noch, gibt es dafür technische Namen?
Mischen Sie die Begriffe persistent (überlebt einen Neustart) und muteable (darf Werte geändert haben)? Diese sind sehr unterschiedlich und scheinen in der Frage austauschbar zu sein. – TheJacobTaylor
Ja, es scheint, dass das, was Sie persistent nennen, eigentlich unveränderlich sein soll. http://en.wikipedia.org/wiki/Immutable_object – haffax
@haffax: Persistente Datenstrukturen sind von Natur aus unveränderlich, aber unveränderliche Datenstrukturen und persistente Datenstrukturen sind nicht ganz dasselbe. Siehe den Wikipedia-Link in meiner Frage. –