不可变对象的魅力


  • 前言
  • Git Commit Object
  • GoLang Context
  • Trace Context
  • 结语

Git 内部原理,通过这一章我们可以了解到 Git 内部的一些工作原理, 同时结合日常使用进行理解,能够让我们知道,我们执行了一个 Git 命令后发生了什么。

Trace Context 文档的时候,Trace Context 其实也有点不可变对象的感觉, 但本质上 Trace 信息就是需要使用相同的 ID 串起来……

233

结语

并发场景下,共享内存的安全访问是一个很常见的问题,同样,也有很多成熟的解决方案,而不可变对象只是其中的一种。

能够使用的场景其实也比较少,但是唯独这种方案让我感觉很 Nice,道理简单,成本低,通过对象上的一个指针, 也可以串出像 Git 这样的分布式协作系统。