您将什么称为允许持久操作的非持久性数据结构?

时间:2009-08-16 23:43:37

标签: python data-structures functional-programming persistence naming

我有一个本质上可变的类,但允许一些“持久性”操作。例如,我可以像这样改变对象(在Python中):

# create an object with y equal to 3 and z equal to "foobar"
x = MyDataStructure(y = 3, z = "foobar") 
x.y = 4

然而,代替以这种方式做事,有几种方法可以制作副本然后改变它:

x = MyDataStructure(y=3, z="foobar")
# a is just like x, but with y equal to 4.
a = x.using(y = 4)

这是使x具有不同值的副本。显然,这不符合wikipedia给出的部分持久性的定义。

那么你会称这样的课程为何? QuasiPersistentObject? PersistableObject? SortOfPersistentObject?更好的是,有没有技术名称?

2 个答案:

答案 0 :(得分:2)

我将此类数据称为可持续,但不确定它是否是一个单词

答案 1 :(得分:2)

这只是一个优化的副本,我宁愿重命名操作来反映这一点。

a = x.copy_with(y=4)