2015-02-17 3 views
-1

Я написал приложение GUI, написанное в MFC. Приложение имеет разные диалоговые окна. В каждом диалоговом окне есть параметры по умолчанию, но пользователь может выбирать и выбирать разные варианты в зависимости от их потребностей. Я хотел бы сохранить все параметры, выбранные пользователем, в файл, чтобы при следующем запуске моего приложения я загружал эти параметры в последний раз, а не по умолчанию. Каков наилучший шаблон дизайна для этого? Прямо сейчас у меня есть классы SaveIO и LoadIO, которые взаимодействуют со всеми классами Dialog. Я не уверен, что это лучший способ сделать это, так как каждый раз, когда я добавляю еще один диалог, мне нужно обновить классы SaveIO и LoadIO.Дизайн Шаблон Чтобы сохранить MFC Dialog Controls States

С уважением

ответ

0

Я думаю, вам будет лучше отличать диалоги с одной стороны и конфигурацию программы от другой.

Учитывая то, что вы пытаетесь выполнить, похоже, что вы хотите объект конфигурации, который поддерживает сериализацию, и некоторые диалоги, которые могут изменять текущее состояние объекта конфигурации.

Таким образом, сохранение/восстановление конфигурации - это просто сериализация/десериализация объекта конфигурации.

Это близко к базовой парадигме документа/представления, за которой следует MFC в целом - объект конфигурации соответствует модели, а диалоги соответствуют представлениям (частям) этого объекта конфигурации.

0

Лучшим вариантом было бы иметь 1-1 отношения между диалогами и классами, отвечающими за сохранение и загрузка их состояния. Таким образом, когда вы добавляете новый диалог, вам нужно добавить только 2 класса, чтобы обрабатывать сохранение и загрузку состояния, а никакого существующего кода не нужно изменять.

Используя условные обозначения, вы должны иметь возможность определить имя классов, ответственных за сохранение и загрузку, с именами используемых имен.

Смежные вопросы