私は現在 Scala でプログラミングしていますが、これは関数型プログラミング言語、または不変性を推奨し、データベースと対話できるプログラミング言語に当てはまると思います。
データベースからデータを取得するときは、それをモデル データ構造にマップします。関数型プログラミングでは、データ構造は不変になる傾向があります。しかし、データベース内のデータは変更可能であるため、モデルも変更可能にする必要があるかどうか疑問に思います。一般に、そのような場合によく受け入れられている慣行は何でしょうか?
Coursera での Martin Odersky による Scala コースの後、彼が次のようなことを言ったのを覚えています。
不変のデータ構造を使用することをお勧めしますが、現実の世界と対話したい場合は、可変のデータ構造を使用すると便利です。
では、どうすればいいのか、また悩んでしまいます。今のところ、私のデータ構造は不変であり、データベース内のレコードを更新したいときに、多くのボイラープレート コードが必要になります。可変モデルを使用すると、このボイラープレートを減らすのに役立ちますか?
(私が使用しているテクノロジに固有の同様の質問を既にしましたが、実際の回答に満足できなかったので、ここで一般化しました。)