Я прочитал множество рекомендаций по этому поводу, и мне просто любопытно, каким будет «современное состояние» для этого -
Я построил традиционный толстый клиент (на самом деле wpf)приложение, которое использует наборы данных (строго типизированные) в качестве слоя данных - используется в памяти в течение срока службы приложения, а двоичные данные сериализуются (и сжимаются) для хранения в файл.Файл должен иметь совместимость с другими приложениями и т. Д., Поэтому у меня есть свобода выбора любого механизма хранения, который я выберу.Приложение также общается с веб-сервисами, для которых в настоящее время используется этот же строго типизированный набор данных.
Приложение включает в себя все виды данных в этом файле, от включенных изображений до довольно длинных списков числовых значений (возможно, более 100k удваивается), до основного текста и т. Д.
Итак, если яЕсли бы я хотел модернизировать это приложение, я бы, вероятно, предпочел бы использовать различные общие списки объектов для уровня данных в памяти, которые затем можно было бы преобразовать в двоичную сериализацию в файл.Но есть ли лучшие способы?Я знаю, что использование базы данных для файла позволило бы мне обновлять только определенные элементы, вместо того, чтобы заново сериализовать все это, но сейчас мне не приходится разбираться с головной болью, выясняя, какие элементы были изменены и нуждаются в обновлении и т. Д.И если я продолжу просто сериализовать все, есть ли лучшие или более стандартизированные / открытые способы сделать это - что-то вроде буферов протокола или bson приходит на ум.
Я посмотрю некоторые ответы и добавлю любые пояснения, если это необходимо.ТИА.