Методы проектирования Java Swing GUI для проверки действий пользователя (MVC-FSM) - PullRequest
5 голосов
/ 06 января 2011

Я реализовал GUI с использованием Swing и всегда пытался следовать шаблону MVC настолько, насколько мог.
Мне было интересно, хотя MVC - не единственная часть головоломки.
Используются ли в GUI автоматы FSMа также дизайн?
Я никогда не использовал FSM в графическом интерфейсе, и мой подход был следующим: при действии был вызван соответствующий метод контроллера, чтобы завершить обновление модели и завершить обновление представления.
Обычно послезапрос, вызванный действием пользователя. Я использовал несколько простых проверок, чтобы убедиться, что пользователь должен иметь возможность выполнять действия такого типа: включен ли конкретный компонент?или метка видна такого рода?и т. д.
Пока что это работает, но я должен признать, что мне «повезло», и мне не пришлось создавать слишком сложные, изощренные или сложные графические интерфейсы.
Раньше я собирал автоматы (в другом виде.приложения - в основном на C ++), и я начал задаваться вопросом, действительно ли FSM в GUI используются в качестве шаблона, и мой подход, т. е. для проверки кода ActionListeners, того, что видит пользователь, какие компоненты включены или отключены и т. д., чтобы определить,пользователь должен увидеть какое-то сообщение об ошибке вместо того, чтобы выполнять определенное действие, которое, например, обещание кнопки, на самом деле является плохой идеей для полноценных приложений с графическим интерфейсом.
Поэтому, когда вы начинаете разрабатывать графический интерфейс помимо того, как внедрять MVC, вамподходит / ассоциируется с FSM в вашем дизайне?
ОБНОВЛЕНИЕ:
После просмотра статьи Дхрува Гайролы в его комментарии я все еще озадачен этим.
В статье упоминается создание FSM, котороехотя на самом деле привязать к реализации калькулятора, а это означает, что даже если калькулятор был реализованполучение пользовательского ввода без GUI, но через командную строку, FSM все еще будет необходим.
Я все еще не уверен, является ли FSMs для проверки действий пользователя в каждый момент времени популярным или действительным проектом.
Кажется, что это может быть слишком много усилий и требует, чтобы GUI был разработан полностью заранее и все возможные действия пользователя были сопоставлены с конкретными результатами в зависимости от конкретных состояний.
Учитывая тот факт, что не было никаких комментариевпросто один ответ, я склонен думать, что, возможно, FSM (для проверки действий пользователя над элементами управления) фактически не используются.

Любые комментарии по этому вопросу приветствуются.
Спасибо.

1 Ответ

2 голосов
/ 06 января 2011

давайте скажем так: шаблоны проектирования - это в основном разработки различных принципов проектирования, например, инкапсулируйте то, что меняется, программируйте для интерфейса, а не для реализации и т. д., поэтому не обязательно, чтобы вы ДОЛЖНЫ использовать шаблон или что-то еще, в основном убедитесь, что способ программирования соответствует хорошим принципам проектирования. Если использование FSM для определенного дизайна имеет смысл, советуем вам пойти на это. обычно шаблоны поощряются, так что другие программисты могут понять вашу логику и легко расширить ее на основе того, что они знают о шаблоне. нет строгого правила о том, что вы ДОЛЖНЫ использовать MVC, вы ДОЛЖНЫ использовать бла-бла-бла ... заключение: пока шаблон, который вы применяете, соответствует хорошим принципам проектирования (или даже если вы не используете конкретный шаблон ), убедитесь, что он разработан хорошо и достаточно хорошо, чтобы другие могли легко его понять и понять. вот мои два цента стоит ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...