sat*_*ish 4 clojure immutability reactjs
我一直在阅读有关不可变数据结构的内容,并了解到变更检测已变得简单.通常,我听说它使应用程序维护更简单,并提供易于理解的编程模型.我需要帮助来理解它简化工作的方式.
Clojure社区已经接受了不变性,这让人大开眼界.我能做的最好的事情就是把你送到消息来源:Rich Hickey关于State的论文和他的演讲价值的价值.Rich解释了如何将变量的概念分为三个不同的概念:身份,状态和价值可以帮助您对系统进行建模并对其进行推理.
原因可以归结为:在您的编程模型中,只有在您尝试建模的系统中发生更改时,才应允许更改.否则,您将移动部件(可变变量和对象)添加到不需要它们的模型中.这使得理解模型变得更加困难(特别是随着时间的推移),但很少或没有任何好处.
即使读取有帮助,唯一的解决方法是使用一种将不可变性作为默认值的语言进行编程,直到您意识到您建模的大多数系统实际上只有少数几个变化的东西而不是可变变量的页面和页面. .