Вот чувствую будет проблема с Read_v1
Структура программы то меняется, объекты меняются
А Read_v1 будет пытаться заполнить несуществующие поля например
Придётся эти Read_v1, v2, v3 исправлять каждый раз когда я меняю интерфейс классов
А тестировать уже не на чем
Вот как бы этого избежать?
Может делать бинарные конвертеры v1 -> v2, v2 -> v3, которые не заполняют основные объекты, а конвертируют бинарные данных из сэйф файла?