Что такое состояние интерфейса? - PullRequest
5 голосов
/ 23 июня 2011

Что такое состояние интерфейса? Можете ли вы привести пример чего-то подобного? Относится ли это к таким вещам, как отслеживание того, какая вкладка открыта, например?

Ответы [ 2 ]

4 голосов
/ 23 июня 2011

Я думаю, что идея заключается в том, что приложение имеет состояние, а пользовательский интерфейс отражает это состояние.

Поэтому, когда ваше приложение запускается, оно выглядит следующим образом

1) Начальное состояние (приложение запущено)
2) Загружает исходные данные («состояние загрузки»)
3) Готово к взаимодействию («состояние готовности»)

Теперь предположим, что пользователь запускаетсявзаимодействие, открыв форму.

4) Пользователь открывает форму и переходит к («редактирование состояния формы»)

Пользователь может отменить или сохранить, так что теперь состояния расходятся.При отмене

5) «Состояние формы редактирования» получает событие отмены, отменяет изменения и возвращается к «Готово»

При сохранении

5) Приложениепереходит в состояние «Сохранение», затем по завершении возвращается к «Готово» или «Ошибка»

Самое замечательное в этой концептуализации состоит в том, что она позволяет вашей «диаграмме состояний» обновлять элементы приложения в зависимости от состояния,Например, в состояниях «загрузка» или «сохранение» вы можете замаскировать пользовательский интерфейс или отключить кнопки.Ключевым моментом является то, что представлениям не нужно знать о состоянии, все, что он делает, это сидит и манипулирует.Это код состояния, который управляет тем, что представления делают, что в любой момент времени.

Обратите внимание, что также правильно для состояний в вашем пользовательском интерфейсе иметь состояние.Например, кнопка может иметь такие состояния, как «mouseenter», «mouseexit», «clickdown», «clickup», «неактивный» и т. Д. Можно считать, что пользовательский вид в вашем пользовательском интерфейсе имеет состояния, когда он отображает себя по-разному, в зависимости отна данных, которые он представляет.

Возможно, вы захотите взглянуть на

http://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.pdf

1 голос
/ 23 июня 2011

Состояние пользовательского интерфейса просто означает состояние пользовательского интерфейса. Отслеживание того, что находится в элементах управления и что является видимым, действительно является частью состояния пользовательского интерфейса.

...