Вопрос по структуре программы
-
- user
- Сообщения: 86
- Зарегистрирован: 09 сен 2016, 20:09
- Версия LabVIEW: 2013
- Контактная информация:
Вопрос по структуре программы
Здравствуйте! Виртуальный прибор (радиостанция) имеет много отдельных функциональных узлов. Каждый узел - это Case структура машины состояний. Есть и Event структура, включающаяся, в основном, при нажатии на кнопки на лиц. панели. Вопрос такой. При нажатии на кнопку программа переходит на Event структуру, где можно выполнить то или иное действие, например, войти в МЕНЮ и выбрать нужную позицию. А можно в Event структуре ничего не выполнять, а только переадресовать программу к соответствующей Case структуре (например, Menu) машины состояний и там выполнить те же действия. Какой алгоритм правильный? И почему?
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Вопрос по структуре программы
Оба правильные, зависит от задачи.
Event структура блокирует FP на время обработки событий, это может быт недопустимо.
Так же в SM может быть обработка "запросов" от многих циклов, не только обработки действий пользователя, так что второй вариант более сложен в реализации, но в некоторых случаях без такого разделения не обойтись.
Так что выбирайте по обстоятельствам.
Event структура блокирует FP на время обработки событий, это может быт недопустимо.
Так же в SM может быть обработка "запросов" от многих циклов, не только обработки действий пользователя, так что второй вариант более сложен в реализации, но в некоторых случаях без такого разделения не обойтись.
Так что выбирайте по обстоятельствам.
-
- user
- Сообщения: 86
- Зарегистрирован: 09 сен 2016, 20:09
- Версия LabVIEW: 2013
- Контактная информация:
Re: Вопрос по структуре программы
Спасибо. Пока никаких принципиальных различий не наблюдаю. Выбираю, где проще программа.Artem.spb писал(а):Оба правильные, зависит от задачи
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Вопрос по структуре программы
Это правильный подход.
Незачем плодить сущностей.
Единственное исключение может быть в случае, если проект в будущем планируется расширять, тогда стоит сразу заложить возможность таких потребностей и разделить потоки.
Незачем плодить сущностей.
Единственное исключение может быть в случае, если проект в будущем планируется расширять, тогда стоит сразу заложить возможность таких потребностей и разделить потоки.
-
- user
- Сообщения: 86
- Зарегистрирован: 09 сен 2016, 20:09
- Версия LabVIEW: 2013
- Контактная информация:
Re: Вопрос по структуре программы
ОК, спасибо за помощь.Artem.spb писал(а):Это правильный подход. Незачем плодить сущностей.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 941 Просмотры
-
Последнее сообщение dadreamer
-
- 5 Ответы
- 320 Просмотры
-
Последнее сообщение ujin1
-
- 3 Ответы
- 356 Просмотры
-
Последнее сообщение ujin1
-
- 10 Ответы
- 774 Просмотры
-
Последнее сообщение Zloydj
-
- 14 Ответы
- 706 Просмотры
-
Последнее сообщение Vladimir_T