Вопрос по структуре программы

Простейшие вопросы в области инженерной разработки
Ответить
LEO_NIK
user
user
Сообщения: 86
Зарегистрирован: 09 сен 2016, 20:09
Версия LabVIEW: 2013
Контактная информация:

Вопрос по структуре программы

Сообщение LEO_NIK »

Здравствуйте! Виртуальный прибор (радиостанция) имеет много отдельных функциональных узлов. Каждый узел - это Case структура машины состояний. Есть и Event структура, включающаяся, в основном, при нажатии на кнопки на лиц. панели. Вопрос такой. При нажатии на кнопку программа переходит на Event структуру, где можно выполнить то или иное действие, например, войти в МЕНЮ и выбрать нужную позицию. А можно в Event структуре ничего не выполнять, а только переадресовать программу к соответствующей Case структуре (например, Menu) машины состояний и там выполнить те же действия. Какой алгоритм правильный? И почему?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Вопрос по структуре программы

Сообщение Artem.spb »

Оба правильные, зависит от задачи.
Event структура блокирует FP на время обработки событий, это может быт недопустимо.
Так же в SM может быть обработка "запросов" от многих циклов, не только обработки действий пользователя, так что второй вариант более сложен в реализации, но в некоторых случаях без такого разделения не обойтись.
Так что выбирайте по обстоятельствам.
LEO_NIK
user
user
Сообщения: 86
Зарегистрирован: 09 сен 2016, 20:09
Версия LabVIEW: 2013
Контактная информация:

Re: Вопрос по структуре программы

Сообщение LEO_NIK »

Artem.spb писал(а):Оба правильные, зависит от задачи
Спасибо. Пока никаких принципиальных различий не наблюдаю. Выбираю, где проще программа.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Вопрос по структуре программы

Сообщение Artem.spb »

Это правильный подход.
Незачем плодить сущностей.
Единственное исключение может быть в случае, если проект в будущем планируется расширять, тогда стоит сразу заложить возможность таких потребностей и разделить потоки.
LEO_NIK
user
user
Сообщения: 86
Зарегистрирован: 09 сен 2016, 20:09
Версия LabVIEW: 2013
Контактная информация:

Re: Вопрос по структуре программы

Сообщение LEO_NIK »

Artem.spb писал(а):Это правильный подход. Незачем плодить сущностей.
ОК, спасибо за помощь.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»