Я считаю, что лучший способ сохранить ваше состояние приложения - это традиционная реляционная база данных, которая в большинстве случаев представляет собой модель данных нашей системы + метаданных.
Однако другие ребята из моей команды считают, что сегодня лучше всего просто сериализовать весь графический объект в двоичном или XML файле.
Не нужно говорить (но я все равно это скажу), что между нами идет Третья мировая война, и я хотел бы услышать ваше мнение по этому вопросу.
Лично я ненавижу сериализацию, потому что:
- Сохраненные данные привязаны только к вашей платформе разработки (С# в моем случае). Эти данные не могут использовать никакие другие платформы, такие как Java или С++.
- Сохраняется весь граф объекта (включая всю цепочку наследования), а не только нужные нам данные.
- Изменение модели данных может вызвать серьезные проблемы с обратной совместимостью при попытке загрузить старые состояния.
- Разделение частей данных между приложениями проблематично.
Я хотел бы услышать ваше мнение об этом.