~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ E24A9E634C4618B81B69981225CAF61F__1716456480 ✰
Заголовок документа оригинал.:
✰ Event (computing) - Wikipedia ✰
Заголовок документа перевод.:
✰ Событие (вычисления) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Event_(computing) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/e2/1f/e24a9e634c4618b81b69981225caf61f.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/e2/1f/e24a9e634c4618b81b69981225caf61f__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 02:58:15 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 23 May 2024, at 12:28 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Событие (вычисления) — Википедия Jump to content

Событие (вычисления)

Из Википедии, бесплатной энциклопедии

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

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

Описание [ править ]

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

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

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

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

Пользовательские события [ править ]

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

События мыши [ править ]

Указательное устройство может генерировать ряд жестов указывающего устройства, распознаваемых программным обеспечением . Мышь может генерировать ряд событий мыши, таких как перемещение мыши (включая направление движения и расстояние), нажатие левой/правой кнопки мыши вверх/вниз. [1] и движение колесика мыши или сочетание этих жестов. Например, двойной щелчок обычно выделяет слова и символы внутри рамки, а тройной щелчок выделяет целые абзацы.

События клавиатуры [ править ]

Нажатие клавиши на клавиатуре или комбинации клавиш генерирует событие клавиатуры, позволяя запущенной в данный момент программе реагировать на введенные данные, например, какую клавишу/клавиши нажал пользователь. [1]

События джойстика [ править ]

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

События сенсорного экрана [ править ]

События, генерируемые с помощью сенсорного экрана , обычно называются событиями касания или жестами .

События устройства [ править ]

События устройства включают в себя действия устройства или по отношению к нему, такие как встряхивание, наклон, вращение или перемещение.

Модель событий делегирования [ править ]

Модель делегирования событий. clickme является источником события (кнопка в этом примере) и содержит список прослушивателей.

Распространенным вариантом в объектно-ориентированном программировании является модель событий делегата , которая предоставляется некоторыми графическими пользовательскими интерфейсами . Эта модель основана на трех сущностях:

Кроме того, модель требует, чтобы:

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

C# использует события как специальные делегаты, которые могут быть запущены только классом, который их объявляет. Это позволяет улучшить абстракцию , например: [2]

делегировать   void   Notifier   (  строка   отправителя  ); 

 класса    Модель 
 { 
     публичных   событий   уведомитель   notifyViews  ; 
      public   void   Change  ()   {   ...   notifyViews  (  «Модель»  );    } 
 } 

 класс   View1 
 { 
     общественный   View1  (  модель   модели  ) 
     { 
         model  .   notifyViews   +=   новый   уведомитель  (  this  .  Update1  ); 
      } 

     void   Update1  (  строка   отправитель  ) 
     { 
         Console  .   WriteLine  (  $"{sender} был изменен во время обновления"  );  
      } 
 } 

 класс   View2 
 { 
     общественный   View2  (  модель   модели  ) 
     { 
         model  .   notifyViews   +=   новый   уведомитель  (  this  .  Update2  );  
      } 

     void   Update2  (  строка   отправитель  ) 
     { 
         Console  .   WriteLine  (  $"{отправитель} был изменен"  );  
      } 
 } 

 Класс   Test 
 { 
     static   void   Main  () 
     { 
         Модель   модели   =   новая   модель  (); 

          новый   View1  (  модель  ); 
          новый   View2  (  модель  ); 
          модель  .   Изменять  (); 
      } 
 } 

Обработчик событий [ править ]

В компьютерном программировании обработчик событий может быть реализован с использованием обратного вызова подпрограммы , которая обрабатывает входные данные, полученные в программе (называемой прослушивателем в Java и JavaScript). [3] ). Каждое событие представляет собой часть информации уровня приложения из базовой платформы , обычно из набора инструментов графического пользовательского интерфейса . К событиям графического пользовательского интерфейса относятся нажатия клавиш , движение мыши , выбор действий и истечение таймеров . На более низком уровне события могут представлять доступность новых данных для чтения файла или сетевого потока. Обработчики событий являются центральной концепцией в программировании, управляемом событиями .

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

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

Уведомление о событии [ править ]

Уведомление о событии — это термин, используемый в сочетании с коммуникационным программным обеспечением для связи приложений, генерирующих небольшие сообщения («события»), с приложениями, которые отслеживают связанные условия и могут предпринимать действия, вызванные событиями.

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

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б События мыши и клавиатуры в Windows Forms . Майкрософт. Проверено 12 февраля 2008 г.
  2. ^ Мессенбёк, Ханспетер (25 марта 2002 г.). «Расширенный C#: переменное количество параметров» (PDF) . Институт системного программного обеспечения, Университет Иоганна Кеплера, Линц, факультет компьютерных наук. п. 26 . Проверено 5 августа 2011 г.
  3. ^ «EventTarget.addEventListener() — Веб-API | MDN» . http://developer.mozilla.org . 11 марта 2024 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: E24A9E634C4618B81B69981225CAF61F__1716456480
URL1:https://en.wikipedia.org/wiki/Event_(computing)
Заголовок, (Title) документа по адресу, URL1:
Event (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)