0%
Immutable优缺点
- 传递数据时,Immutable Data可以提升组件渲染性能
- Imutable Data是对可变对象和不可变对象的一个折中
- 可变对象——是指多个变量引用一个对象,这导致对象的time和value耦合,对象一旦改变无法重塑
- 不可变对象——是指每次用对一个对象就进行深复制,这导致内存浪费
- Immutable——基于持久化数据结构,也就是使用就数据创建新数据时,旧数据依旧保存,而且为了避免深度复制,Immutable Data使用结果共享,也就是说如果对象树中的一个节点变化,只修改这个节点和受他影响的父节点,其他节点依旧共享。Immutable Data优点体现在降低了可变数据带来的时间和值的耦合,节省了内存,可以实现数据的时间旅行,也就是说数据可以重塑。
Immutable
- 普通的mutable对象深拷贝会将一整份数据都复制一遍,而Immutable对象在修改数据时并不会复制一整份数据,而是将变化的节点与未变化的节点的父子关系转移到一个新节点商,类似于链表的结构。从“复制”的角度来看,做到了最小化的复制,未变化的部分是共享的,Mutable在复制的时候是“全量”,而Immutable复制的是“增量”,对于内存空间的使用率