我应该用不可变数据结构表示数据库数据吗?

前端之家收集整理的这篇文章主要介绍了我应该用不可变数据结构表示数据库数据吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前在 Scala中编程,但我猜这适用于任何函数式编程语言,或者是适用于建议不变性并可与数据库交互的任何编程语言.

当我从数据库获取数据时,我将其映射到模型数据结构.在功能性编程中,数据结构往往是不可变的.但数据库中的数据是可变的,所以我不知道我的模型是否应该是可变的.一般来说,在这种情况下,什么是好的和公认的做法?

在马尔丁Odersky在Coursera的Scala课程之后,我记得他说的是:

It’s better to use immutable data structures,but when you want to
interact with the real world,it can be useful to use mutable data
structures.

所以,再一次,我想知道我该怎么办到目前为止,我的数据结构是不可变的,当我想要更新我的数据库中的记录时,这导致了很多样板代码.使用可变模型有助于减少锅炉板块?

(我已经问了a similar question which was quite specific to the technologies I use,但我对实际的答案不满意,所以我在这里概括一下.)

解决方法

无论是使用可变的还是不可变的数据结构,“与现实世界的交互”无关.这是一个经常重复的furfy,你很怀疑它是伟大的.

虽然这样消除垃圾通常更健康,但您可能对粗略的剥离感兴趣:
http://blog.higher-order.com/blog/2012/09/13/what-purity-is-and-isnt/

但是,我强烈建议您将其解除并继续前进.

在你的问题上,当你想对不变数据结构执行操作时,你说你有样板.事实上,在很大程度上解决了这个问题的理论非常完善.这是一篇关于Scala的文章

http://dropbox.tmorris.net/media/doc/lenses.pdf

希望有帮助.

猜你在找的MsSQL相关文章