stringtranslate.com

Программирование, управляемое событиями

Цикл событий

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

RPG , ранний язык программирования от IBM , чья концепция дизайна 1960-х годов была похожа на программирование, управляемое событиями, обсуждавшееся выше, предоставлял встроенный основной цикл ввода-вывода (известный как «программный цикл»), в котором вычисления выполнялись в соответствии с индикаторы ( флаги ), которые были установлены ранее в цикле.

Обработчики событий

Фактическая логика содержится в процедурах обработчика событий. Эти процедуры обрабатывают события, на которые будет реагировать основная программа. Например, один щелчок левой кнопкой мыши по командной кнопке в программе с графическим интерфейсом может запустить процедуру, которая откроет другое окно, сохранит данные в базе данных или выйдет из приложения. Многие IDE предоставляют программисту шаблоны событий графического интерфейса, позволяя программисту сосредоточиться на написании кода события.

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

Помимо написания обработчиков событий, обработчики событий также необходимо привязать к событиям, чтобы при возникновении события вызывалась правильная функция. Для событий пользовательского интерфейса многие IDE объединяют два шага: двойной щелчок по кнопке, и редактор создает (пустой) обработчик событий, связанный с нажатием кнопки пользователем, и открывает текстовое окно, чтобы вы могли редактировать обработчик событий.

Обычное использование

Большинство существующих архитектур графического пользовательского интерфейса используют программирование, управляемое событиями. [2] В Windows есть цикл событий . Платформа Java AWT обрабатывает все изменения пользовательского интерфейса в одном потоке, называемом потоком диспетчеризации событий . Аналогичным образом, все обновления пользовательского интерфейса в платформе Java JavaFX происходят в потоке приложения JavaFX. [3]

Большинство сетевых серверов и платформ, таких как Node.js, также управляются событиями. [4]

Обработка прерываний и исключений

Смотрите также

Рекомендации

  1. ^ Чандрасекаран, Премананд; Кришнан, Картик; Форд, Нил; Байарс, Брэндон; Буйзе, Аллард (2022). Доменно-ориентированное проектирование с использованием Java — Руководство для практикующего . Пакт Паблишинг. ISBN 9781800564763.
  2. Самек, Миро (1 апреля 2013 г.). «Кто переместил мое государство?». Доктор Добб . Проверено 28 января 2018 г.
  3. Федорцова, Ирина (июнь 2012 г.). «Параллелизм в JavaFX». Домашняя страница документации JavaFX . Оракул . Проверено 4 января 2018 г. Граф сцены JavaFX, который представляет графический пользовательский интерфейс приложения JavaFX, не является потокобезопасным, и к нему можно получить доступ и изменить его только из потока пользовательского интерфейса, также известного как поток приложения JavaFX.
  4. ^ Программирование, управляемое событиями, в Node.js.

Внешние ссылки