Есть ли причина, по которой вы не сохраняете свои доменные объекты и просто перестраиваете ViewModels из тех, которые загружаются?Какое состояние будет иметь ваше мнение, что классы вашего домена не будут?Если это связано с визуальными элементами, такими как положение и местоположение, я бы вставил их в класс настроек и сохранил это.
Я предполагаю, что есть некоторая базовая логика и классы, которые представляют ваш домен, если нет, то ваши ViewModels действительно являются вашим доменом, и ваша идея ясна.
Я бы, вероятно, посмотрел бы что-то вроде шаблона memento для регидратации ваших виртуальных машин, поскольку они, вероятно, будут иметь справедливуюнесколько событий и других отношений (например, события изменения свойств элементов коллекции), которые не могут быть сериализованы и должны быть воссозданы.
Существует множество паттернов персистентности, но, судя по именам и пояснениям, выглядит хорошоподходит.