【引用功能设计理念的探讨】如果B是A的引用,为什么B添加了子节点,A中没有添加?

我知道你们为啥这么想了,谢谢。场景不同,需求不同

双向确实够使了,如果引用里有自节点的话,新笔记愈发臃肿QAQ

大家好,我是在使用中遇到了困扰,然后才千辛万苦找到了这里。专门注册一下账号来讨论一下这个问题。

首先,对于引用而言,大家默认感觉是无论是内容还是结构都会被双向同步。我也是这样使用的。

我会在第一本书里边儿看一些知识点,然后组建一棵树。然后在第二本书里边儿也看一些知识点,组建一棵树。

然后我会单独建一个树,去汇总两个知识点。也就是建立了引用。

在这个过程中,我会继续去看第一本书和第二本书。继续去填充这两棵树。然后想当然了,我会认为我汇总的那颗总的树也会跟随变动。但是到后来我发现没有,有些东西在变,但是有些东西没有变。这使我很难理清楚到底什么变了,什么没变。

最终我搜集了好多资料,找到了这里。发现是内容再变,结构没变。关于这点,我想说两点内容。

  • 第一。对于用户而言,想理清楚什么在变什么不变是极其困难的。

  • 第二。如果真的想不变,保护原有内容。那我完全可以使用克隆,也并没有必要使用引用。

因此我认为在使用引用时,我是想无论结构和内容都要同步变动。

否则的话就会导致出现一个问题,引用出来的东西一部分是变化的,一部分是不变的。最终导致就有内容和引用出来的内容处在一种有些一样,但有些不一样的状态。这种状态会导致引用这个操作变得没有价值。

因此,我希望引用不仅引用了内容,而且引用了结构。

不过,整理时,跨出引用区块的情况我可能发生。此时,结构引用会遇到问题。
因此,可以把复制分为两类:
直接复制
联动复制,指现在的引用形式

然后再增加引用,指包含内容和结构的引用。此时,引用块内部的节点不允许移出。除非降为联动复制才可移出。