В настоящее время я программирую в Scala, но, я думаю, это относится к любому функциональному языку программирования, или, скорее, к любому языку программирования, который рекомендует неизменность и может взаимодействовать с базой данных.
Когда я извлекаю данные из своей базы данных, я сопоставляю их с модельной структурой данных. В функциональном программировании структуры данных имеют тенденцию быть неизменными. Но данные в базе данных изменяемы, поэтому я задаюсь вопросом, должна ли моя модель быть изменчивой. В целом, что было бы хорошей и хорошо принятой практикой в таком случае?
После Scala курсов Мартина Одерского на Coursera, я помню, он сказал что-то вроде:
Лучше использовать неизменяемые структуры данных, но если вы хотите взаимодействовать с реальным миром, может быть полезно использовать изменяемые данные структуры.
Итак, еще раз, интересно, что мне делать. На данный момент мои структуры данных неизменяемы, и это приводит к большому числу шаблонов кода, когда я хочу обновить запись в моей базе данных. Будет ли использование изменчивой модели помочь уменьшить эту плиту котла?
(я уже спросил аналогичный вопрос, который был весьма специфичен для технологий, которые я использую, но я не был удовлетворен фактическими ответами, поэтому я обобщил это здесь.)