1.持久化数据结构
持久化数据结构的含义是,对于每一个调用者来说,他所使用的每一个数据结构已经持久化了(不可变了),例如f(x)=y,g(y)=z,x、y和z的数据结构已经持久化了,就算其他地方如何去使用,x、y和z都不能有变化。
比如说调用者拥有树1,调用一个方法需要更新树1,那么此时调用者会持有树2(方法内部的副作用对调用者不可见),而不是对树1做修改,此时树1和树2已经持久化了,不能再被修改。换句话说,在对树1结构的任何操作,都不会导致树2的结构发生变化,树1的方法作用域内数据结构始终保持一致,生命周期内值始终保持不变。