为什么域(业务逻辑)中的默认不变性更常见?

时间:2011-12-12 14:49:09

标签: c# immutability

我最近一直在努力学习函数式编程,并且已经发现不可变性在解决问题方面提供了不同的观点。我正在考虑在我未来的开发中默认使用不可变类。

除了潜在的小型性能成本之外,为什么不可变类在普通的“好”设计中更不普遍作为标准惯例?是不是有一个缺点,我不知道不可变类(除非性能)?

我知道不变性经常被讨论过,但是我很难找到任何具体的解决方法,解释为什么它不会被用于可变类。

1 个答案:

答案 0 :(得分:2)

我认为这只是因为我们正在开发Von Neumann model,它是可变的,它带来了C编程语言并拥有大量的派生语言,如C ++,Java,C#等。这些语言统治着世界人们多年来一直在思考这种方式。我们学习可变编程,我们教授可变编程,现在编写的大多数系统都是可变的。甚至人和世界都是可变的。

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