为什么在域(业务逻辑)默认情况下不变性更常见?

本文关键字:情况下 默认 不变性 常见 业务 为什么 | 更新日期: 2023-09-27 18:17:40

我最近一直在研究函数式编程,并且发现不变性为解决问题提供了不同的视角。我正在考虑在未来的开发中默认使用不可变类。

除了潜在的小性能成本之外,为什么不可变类在正常的"好"设计中不作为标准约定更普遍呢?不可变类是否有我不知道的缺点(限制性能)?

我知道不可变性经常被讨论,但是我很难找到任何特别的东西来解释为什么它比可变类更常用。

为什么在域(业务逻辑)默认情况下不变性更常见?

我认为这只是因为我们正在研究Von Neumann模型,它是可变的,它带来了C编程语言,并有大量的派生语言,如c++, Java, c#等。这些语言统治着世界,人们多年来一直以可变的方式思考。我们学习可变编程,我们学习可变编程,现在编写的大多数系统都是可变的。连人和世界都是多变的。

我们都(好吧,大多数人)是可变的。我们只是习惯了。

相关文章: