Подскажите паттерн.
От: loknalori Россия  
Дата: 27.11.07 13:23
Оценка:
Сам я больше серверные вещи пишу, а тут надо GUI слепить (на MFC). Для ясности опишу задачу. Схему см тут.

Есть SDI апп. по команде с меню документ должен подключиться к некоторому источнику данных, который шарашит поток данных в приклад. Причем документ обрабатывает не все подряд данные, а некоторые данные. Какие имено — задаются с помощью конфига (а он опять же указывается в меню приклада). Логер логирует в некоторые специальные места по нескольким протоколам (опять же задается в настройках). Причем логгер в момент начала работы может понять что "все плохо" и работать вобще-то смысла нет, и остановить трансфер данных и т.п. Плюс Вид может показывать риалтаймовые значения которые сейчас храняться в документе.

А теперь самое интересное. Доступные опции меню сильно зависят от текущего состояния приклада (логер не пашет — одни действия, все работает — другие), более того, повторыый вызов одной и той же последовательности действий (т.е. например установить конект, установить конект), может привести к проблемам (а делать защиту от дурака на уровне интерфейсов — крайне не хочется, т.к. задача не стоит усилий по написанию "безотказного" кода), т.е. нужно в правильное времая герить пункты меню, дабы пользователь не мог напортачить.

Внимание вопрос: Подскажите какой нибудь паттерн, который позволит централизованно хранить состояние системы, а всем частям приклада (класам) своевременно реагировать на изменения этого сотояния (т.е. например, логер умер -> остановить работу + разгреить менюшки)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.