Проектирование работы с несколькими окнами
От: higohertz  
Дата: 26.05.12 03:43
Оценка:
Добрый день!

Допустим есть окно с несколькими табами.
В каждом табе может быть произвольное число элементов управления.
В зависимости от логики работы таба, он выполняет некоторые действия и переключается на другой таб.
Вопрос общего характера — как правильно организовать логику работы программы.

На ум приходит пока два варианта.
1. Пряиой.
Т.е. каждый таб в зависимости от своего предназначения выполняет некоторую работу, затем сам переключает контекст на другой таб.
Плохо то, что в этом случае каждый таб должен знать о наличие других табов и сам переключаться на другой контекст. И логика работы всей программы размазана по всей программе.
Иными словами, кажется, что лучше, что бы каждый таб выполнял свою часть работы, не зная о существовании других табов.

Поэтому приходит на ум второй вариант.
2. Менеджер.
Т.е. есть некий менеджер табов.
Каждый таб, выполнив свою работу, посылает сообщение (сигнал) менеджеру о завершении.
Менеджер получает этот сигнал и в зависимости от текущего состояния и того, что вернул таб, переключает контекст на другой таб.
Плохо то, что эти состояния организуются в дерево. И возникает проблема их хранения и использования.

Наверняка уже придуман какой то шаблон, ведь задача общая. Подскажите, пожалуйста.

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

Заранее спасибо.

03.06.12 05:43: Перенесено из 'Пользовательский интерфейс: проектирование, usability'
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.