SICP 104 - 模块化、状态和对象
这是 SICP 第三章的内容总结,包含了全部习题的答案。本文阐述了使用赋值和局部状态实现更好的模块化,探讨了这种模型在模拟真实物体上的优势,以及这种为代码引入“时间维度”带来的后果:对于同一和变化、引用透明性和把握代码的时序性导致的心智负担等问题,尤其在并发模型下的严重水土不服。作为替代,我们引入了同样可以表示状态的流模型,通过对流模型的概念和应用的审视来探索其适用范围,并最终得出结论:当非共享状态大于共享时,对象可更好的实现模块化,反之基于函数式(非赋值)和流模型则更方便。