double arrow

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

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

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

В программировании, управляемом событиями, прило­жение — это не последовательность каких-то операторов, не некий жесткий алгоритм. Здесь программа выступает как совокупность объектов и способов их взаимодействия. При этом в роли главного объекта во многих случаях можно считать самого пользователя программы. Он же является и основным, но не единственным источником событий, которые управляют работой приложения.

Программные объекты как бы существуют в некоторой среде взаимодействия друг с другом. Основой этой среды являются сообщения, которые генерируются в результате наступления каких-то событий. События могут порождать­ся действиями пользователя (например, при работе с мыш­кой или клавиатурой), но могут наступать и в результате других причин (внешних). Например, отключение пита­ния, получение письма по электронной почте или локаль­ной сети, Также события могут яв­ляться результатом работы самой программы, результа­том работы ее объектов, сбой дисковода и т.д. Например, программа моделиру­ет процесс движения нескольких тел, и в случае «столкновения» каких-либо из них генерируется событие с по­сылкой соответствующего сообщения. В каждом объекте программист определяет множество событий, на которые объект должен реагировать. При получении соответствую­щего сообщения, объект реагирует на него «автоматиче­ски», запуская на выполнение соответствующий метод. В этом контексте объект можно определить как совокупность свойств и методов, а также событий, на которые он должен реагировать и сообщений, которые он может ге­нерировать.

Теперь код программы состоит из отдельных, непосред­ственно не связанных друг с другом фрагментов. Последо­вательность их выполнения определяется не явно (т.е., не операторами перехода внутри программы), но соответству­ющей настройкой программной среды. Например, если отключить реакцию кнопки ДА в какой-то форме на щел­чок мышки, то при выполнении программы эта кнопка станет недоступной. Однако программный текст до и пос­ле отключения реакции кнопки останется неизменным.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: