- Особенности событийно-ориентированного программирования
- Зависимость от событий
- Сервис ориентированный
- События
- контроллер
- Триггерные функции
- С контролем времени
- Примеры событийного программирования
- Разрешение на работу
- Инициирование действий
- преимущество
- Более быстрая обработка
- интерактивность
- Меньше кодирования решений
- гибкость
- Действующие билеты
- Простота обслуживания
- Недостатки
- Сложный поток управления
- Он не заменяет структурное программирование
- гибкость
- Приложения
- Графический пользовательский интерфейс
- Ссылки
Программирование, управляемое событиями, относится к модели компьютерного программирования, в которой события, которые происходят, определяют поток управления программой.
Это не тип технологии или языка программирования, а скорее подход, который реализуется на этапе разработки продукта. По сути, он отделяет логику обработки событий от остального кода в программе.

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

Источник: pixabay.com
Зависимость от событий
Поток программы определяется событиями, которые могут быть действиями пользователя, сообщениями из других программ и т. Д., Отделяя логику обработки событий от остальной части кода программы, что контрастирует с пакетной обработкой.
Сами события могут варьироваться от принятия или отклонения запроса на ссуду, называемого событием высокого уровня, до нажатия пользователем клавиши, что является событием низкого уровня.
Сервис ориентированный
Он используется для написания программ, предназначенных для обслуживания, без замедления работы компьютера, поскольку ориентация на обслуживание потребляет лишь небольшую вычислительную мощность. Кроме того, службы обычно работают в фоновом режиме операционной системы.
События
Это состояние, которое возникает во время выполнения программы и требует определенных действий со стороны системы. Каждое событие отличается по своей природе, некоторые требуют, чтобы программа извлекала и отображала определенную информацию, а другие требуют инициирования некоторых вычислений и изменений состояния.
К событиям относятся мышь, клавиатура, пользовательский интерфейс и действия, которые должны запускаться в программе при их возникновении. Это означает, что пользователь должен взаимодействовать с объектом в программе, например, щелкать кнопкой мыши, использовать клавиатуру для выбора кнопки и т. Д.
контроллер
Это некая единица программы, которая активируется для реакции на событие. То есть это тип функции или метода, который выполняет определенное действие, когда запускается определенное событие.
Например, это может быть кнопка, которая при нажатии пользователем на нее отображает сообщение, а при повторном нажатии этой кнопки сообщение закрывается.
Триггерные функции
Это функции, которые решают, какой код выполнять при наступлении определенного события. Они используются для выбора того, какой обработчик событий использовать при возникновении события.
С контролем времени
Это конкретный код, который запускается в определенное время. Это означает, что это предустановленная задача.
Обновление Windows - это пример контролируемого времени, когда пользователь может установить, когда обновлять или когда проверять и загружать обновление.
Примеры событийного программирования
Программы, ориентированные на события, стали очень распространенными. Среди наиболее ярких примеров - текстовые редакторы, инструменты для рисования, электронные таблицы и т. Д.
Большинство современных систем обмена сообщениями также следуют шаблону, управляемому событиями, в то время как крупномасштабные веб-сайты используют масштабируемую и управляемую событиями архитектуры распределенного характера. Другие примеры:
- Была нажата клавиша (текстовый редактор).
- Новый календарь задач готов к раздаче всему персоналу (система управления).
- Получено сообщение HTML (веб-сервер).
- Обнаружена незаконная торговля (обнаружение мошенничества).
- Автомобиль в компьютерной игре сталкивается с другим автомобилем (гоночная игра).
- Робот достиг пункта назначения (управление складом в реальном времени).
Разрешение на работу
Практическим примером события, используемого в событийно-ориентированном программировании, может быть сотрудник, подающий заявку на разрешение на работу в системе. Когда этот сотрудник отправит свой запрос, он активирует уведомление, которое будет отправлено руководителю для утверждения.
Менеджер мог просматривать детали запроса, утверждать или отклонять его, обновляя его в системе без необходимости инициировать дополнительные сеансы.
Инициирование действий
Действия программы, которая следует основам событийно-ориентированного программирования, инициируются событиями:
- Оборудование.
- Запланированное.
- Время исполнения.
- Из операционной системы.
- Активируется инструкциями пользователя, полученными при взаимодействии с графическим интерфейсом программы.
В простейшем режиме программисты должны ответить на вопрос: «Что должно произойти, когда произойдет определенное событие?»
Следующая процедура псевдокода показывает, как может работать очень простой планировщик. Он состоит из основного цикла, который выполняется непрерывно до тех пор, пока не произойдет какое-либо условие завершения.
Когда происходит событие, планировщик должен определить тип события и выбрать соответствующий обработчик событий или обработать событие, если подходящий обработчик событий не существует.

преимущество
Более быстрая обработка
Из-за распространения данных между несколькими процессорами и обработчиками событий.
интерактивность
Это наиболее важное преимущество событийно-ориентированного программирования, улучшающее взаимодействие с пользователем. Сегодняшние пользователи хотят активно участвовать, а не оставаться пассивными потребителями.
Таким образом, программы, основанные на событиях, помогают пользователям ориентироваться в собственном опыте и изучать различные варианты без заранее установленных ограничений.
Меньше кодирования решений
Такой подход к программированию имеет много преимуществ для всех заинтересованных сторон, поскольку для кодирования требуется меньше решений, чем для традиционных приложений.
Многие события определяются действиями пользователя, а не продвинутым кодированием для всех возможных сценариев. В то время как традиционные приложения действуют, приложения, управляемые событиями, реагируют.
гибкость
Он идеально сочетается с последними тенденциями в разработке программного обеспечения, такими как облачные вычисления, микросервисы, а также с потребностью в лучшей масштабируемости с помощью гибких и распределенных систем.
Действующие билеты
Устраняет возможность записей с недопустимыми значениями. Традиционное приложение задает вопрос и позволяет пользователю ввести ответ. Управляемые событиями приложения обычно предлагают набор параметров в виде кнопок или раскрывающихся меню.
Простота обслуживания
Устранена необходимость исправления и корректировки существующего кода при добавлении или удалении модулей. Система продолжает работать без сбоев, несмотря на любую такую настройку.
Следовательно, это программирование подходит для приложений с потоками управления, основанными на наборе внутренних и внешних событий, а не на структуре.
Недостатки
Сложный поток управления
Такой подход к программированию - не лучший вариант для небольших и простых приложений, потому что усилия, которые необходимо приложить, оказываются нецелесообразными.
Разработка приложения, управляемого событиями, увеличивает сложность проектирования и доставки системы. Это связано с тем, что традиционные архитектуры программного обеспечения основаны на взаимодействиях на основе запросов, а не на взаимодействиях, управляемых событиями.
Кроме того, требуется большая подготовка из-за необходимости создания постоянно динамических циклов событий.
Он не заменяет структурное программирование
Следует отметить, что событийно-ориентированное программирование не заменяет традиционное структурное программирование, а только дополняет его.
Традиционные методологии программирования остаются необходимыми для написания всей программы, в то время как элементы кодирования, управляемые событиями, служат только для помощи в разработке графического интерфейса.
гибкость
Гибкость расписания, ориентированного на события, что является его неоспоримым преимуществом, также в определенных сценариях превращается в мошенничество. Одно из таких проявлений - непредсказуемость событийно-ориентированной программы в случае ее изменений и более слабый контроль над всей системой.
Хотя кодировщики любят использовать программирование, управляемое событиями, для внесения удобных корректировок, таких как удаление или добавление некоторых функциональных модулей, эти корректировки могут привести к неожиданным изменениям в функциональности.
При обычном программировании система очень быстро обнаруживает эти рабочие аномалии, предоставляя программисту отчет об их причинах. В среде программирования, управляемой событиями, обнаружение таких неисправностей менее быстрое и легкое.
Приложения
Поскольку программирование, управляемое событиями, оказывается больше подходом, чем типом языка, приложения, основанные на событиях, могут быть созданы на любом языке программирования.
Событийно-ориентированное программирование трансформирует мир услуг по разработке программного обеспечения и становится неотъемлемой частью современного развития. Его распространение было стимулировано Windows и распространением визуальной среды.
Ситуация, управляемая событиями, будет напоминать таймер пробуждения, настроенный на выполнение определенной задачи в определенное время, например, звонок и сообщение чего-то, что говорит: «Просыпайтесь!»
Графический пользовательский интерфейс
Этот подход к планированию ориентирован на события. Его наиболее распространенные области применения включают создание графического пользовательского интерфейса (GUI), серверных приложений и разработку многопользовательских игр.
В то время как обычные программы устанавливают поток событий и контролируют параметры пользователя, это более инновационное программирование служило для создания графического интерфейса пользователя.
Графический интерфейс изменил взаимодействие человека с компьютером, предложив пользователям несколько вариантов в виде раскрывающихся меню, окон, кнопок и флажков.
Таким образом, вместо того, чтобы следовать заранее определенному порядку действий, установленному компьютером, пользователи могут выбрать одну из множества доступных команд самостоятельно.
Помимо того, что это программирование широко применяется в графических пользовательских интерфейсах, оно также широко применяется в приложениях, которые выполняют определенные действия в ответ на ввод данных пользователем, таких как веб-приложения JavaScript.
Ссылки
- Распал Чима (2018). События-ориентированные приложения в разработке программного обеспечения. Консультанты Blueberry. Взято с: bbconsult.co.uk.
- Кворум (2020 г.). Создание приложений - Урок 1: Введение в программирование, управляемое событиями. Взято с: quorumlanguage.com.
- Маргарет Роуз (2012). Событийное приложение. Techtarget. Взято с сайта searchitoperations.techtarget.com.
- Очерки Великобритании (2018). Возможности программирования, управляемого событиями. Взято с: ukessays.com.
- Сувик Банерджи (2019). Программирование, управляемое событиями: почему оно сейчас в тренде? RS Websols. Взято с: rswebsols.com.
- Техопедия (2018). Событийная программа. Взято с: потолокpedia.com.
- Технологии Великобритании (2020). Событийное программирование. Взято с сайта: technologyuk.net.
