Я пытаюсь обновить устаревшее приложение и нуждаюсь в некотором совете о том, как организовать уровень данных.Сериализация файла в слое данных
Сегодня все данные хранятся в двоичном файле, созданном с помощью двоичной сериализации. Данные, которые хранятся, представляют собой древовидную структуру с несколькими уровнями.
Уровень объекта сохраняемых данных:
ApplicationSettings
CommunicationSettings
ConfigurationSettings
HardwareSettings
and so forth some additional levels
Все эти классы имеют много логики делать разные вещи. Они также имеют информацию о состоянии, которая не должна сохраняться в файле.
Данные постоянно обновляются во время выполнения программы и сохраняются при обновлении до двоичного файла с помощью «бизнес-логики».
Я пытаюсь обновить программу, но выполнение модульных тестов для этого - кошмар.
Я хочу, чтобы данные все равно сохранялись в файле. Но в остальном я открыт для предложений, как улучшить это.
Edit:
Программа очень мала, и я не хочу зависеть от больших и сложных структур. Причина, по которой мне нужна помощь, - попытаться очистить код, где практически вся логика приложения находится в огромный метод.
Как настройки потребляются? Статический класс или передается в конструктор? –
То, что вы описали, является чистой структурой XML, поэтому почему бы не использовать ее? Для управления XML существуют уже установленные инструменты. –
С самого начала почти все классы были статичными. Но после много работы я обновил его, чтобы использовать DI. Итак, теперь все настройки вводятся через конструкторы. – magol