Мы храним объекты в XML. Иногда мы обновляем базовые объекты, тогда нам нужно сохранить больше данных в наших файлах, чтобы представить дополнительные атрибуты наших объектов.Объект/XML обратная совместимость
Как организовать/внедрить систему для обеспечения обратной совместимости со старыми версиями наших файлов?
Сложная деталь возникает при просмотре нескольких версий одновременно.
Version 1 -> Version 2 -> Version 3 -> Version 4
Должны ли мы писать четыре считывателя файлов, по одному для каждой версии файла, чтобы прочитать его в текущей последней версии нашего объекта? Или, если мы сохраним все старые версии классов с версий 1-3, чтобы старые читатели могли читать данные в этих классах, а затем инкрементальные обновления для обновления 1->2
, а затем 2->3
, а затем 3->4
.