- Характеристики на програмиране, ориентирано към събития
- Зависимост на събитията
- Ориентирана към услугата
- Събития
- контрольор
- Функции на задействане
- Времето контролирано
- Примери за програмиране, управлявано от събития
- Разрешително за работа
- Иницииране на действия
- предимство
- По-бърза обработка
- Интерактивност
- По-малко кодиране на решения
- гъвкавост
- Валидни билети
- Лесна поддръжка
- Недостатъци
- Сложен контролен поток
- Той не замества структурираното програмиране
- гъвкавост
- Приложения
- Графичен потребителски интерфейс
- Препратки
Програмирането, управлявано от събития, се отнася до модел на компютърно програмиране, където се използват събитията, които се случват за определяне на контролния поток на програмата.
Това не е тип технология или език за програмиране, а по-скоро подход, който се прилага по време на етапа на разработване на продукта. По принцип тя разделя логиката за обработка на събитията от останалата част от кода в програмата.
Този тип програмиране е предназначен за откриване на събития, тъй като те се случват, като се използва подходяща процедура за обработка на събития за справяне с тях, обикновено чрез повикване на функция или метод.
Теоретично стилът на това програмиране е съвместим с всички езици на програмиране, въпреки че може да е различен по начина на изпълнение.
Като цяло, в приложение, управлявано от събития, има основен цикъл, който "слуша" за нови входящи събития, задействайки повикване на функция, когато бъдат открити. Следователно работата му се фокусира върху събития, решаване какво да се изпълни и в какъв ред.
Характеристики на програмиране, ориентирано към събития
Източник: pixabay.com
Зависимост на събитията
Потокът на програмата се дава от събития, които могат да бъдат потребителски действия, съобщения от други програми и т.н., отделяйки логиката на обработка на събития от останалата част от кода на програмата, като по този начин контрастира с пакетната обработка.
Самите събития могат да варират от приемане или отхвърляне на заявка за кредит, наречена събитие на високо ниво, до натискане на клавиш, което е събитие на ниско ниво.
Ориентирана към услугата
Използва се за писане на програми, предназначени за обслужване, без да забавя компютъра, тъй като ориентацията към услугата консумира само малко мощност за обработка. Също така услугите обикновено работят във фонов режим на операционната система.
Събития
Това е условие, което възниква по време на изпълнение на програма и изисква някои действия от страна на системата. Всяко събитие е различно по природа, някои изискват програмата да извлече и покаже определена информация, а други изискват някои изчисления и промени в състоянието, за да бъдат инициирани.
Събитията включват мишката, клавиатурата, потребителски интерфейс и действия, които трябва да се задействат в програмата, когато се появят. Това означава, че потребителят трябва да взаимодейства с обект в програмата, като например щракване с бутон на мишката, използване на клавиатурата за избор на бутон и т.н.
контрольор
Това е определена единица от програмата, която се активира, за да реагира на събитие. Тоест, това е тип функция или метод, който изпълнява конкретно действие, когато се задейства определено събитие.
Например, може да бъде бутон, който, когато потребителят кликне върху него, показва съобщение и когато натисне този бутон отново затваря съобщението.
Функции на задействане
Те са функции, които решават какъв код да се изпълни, когато се случи конкретно събитие. Те се използват, за да изберат кой обработващ събитията да се използва, когато се случи събитие.
Времето контролирано
Това е специфичен код, който работи в определено време. Това означава, че това е предварително зададена задача.
Актуализацията на Windows е пример за контролирано време, при което потребителят може да задава кога да актуализира или кога да проверява и изтегля актуализацията.
Примери за програмиране, управлявано от събития
Програмите, ориентирани към събития, станаха много често. Сред най-известните примери са текстообработка, инструменти за рисуване, електронни таблици и др.
Повечето съвременни системи за съобщения също следват модела, управляван от събития, докато мащабните уебсайтове използват мащабируеми и управлявани от събития архитектури с разпределен характер. Други примери са:
- Натиснат е клавиш (текстов редактор).
- Нов календар на задачите е готов да бъде разпределен на целия персонал (система за управление).
- Получено е HTML съобщение (уеб сървър).
- Открит е незаконен модел на търговия (откриване на измами).
- Кола в компютърна игра се сблъсква с друга кола (състезателна игра).
- Робот е достигнал своето местоназначение (управление на склада в реално време).
Разрешително за работа
Практически пример за събитие, използвано в програмиране, управлявано от събития, може да бъде служител, кандидатстващ за разрешение за работа в системата. Когато този служител издава молбата си, той ще активира известие, което ще бъде изпратено на мениджъра за одобрение.
Мениджърът може да прегледа детайлите на заявката, да я одобри или отхвърли, актуализирайки я в системата, без да е необходимо да инициира допълнителни сесии.
Иницииране на действия
Действията на програма, която следва основите на програмирането, ориентирано към събития, се инициират от събития:
- Хардуерът.
- Планиран.
- Време за изпълнение.
- От операционната система.
- Активира се от инструкции на потребителя, дадени чрез взаимодействие с GUI на програмата.
В най-простия си режим програмистите трябва да отговорят на въпроса: "Какво трябва да се случи, когато се случи определено събитие?"
Следващата процедура за псевдокод показва как може да работи много прост планировчик. Състои се от основен цикъл, който работи непрекъснато, докато възникне някакво условие за прекратяване.
Когато се случи събитие, планиращият трябва да определи типа на събитието и да избере подходящ манипулатор на събитието или да обработва събитието, ако не съществува подходящ обработващ събитие.
предимство
По-бърза обработка
Поради разпространението на данни между множество процесори и обработващи събития.
Интерактивност
Това е най-важното предимство на програмирането, ориентирано към събития, подобряване на потребителското изживяване. Днешните потребители искат активно да участват и да не остават пасивни потребители.
Следователно програмите, базирани на събития, помагат на потребителите да се ориентират в собствения си опит и да изследват различни опции, без предварително зададени ограничения.
По-малко кодиране на решения
Този подход за програмиране има много ползи за всички заинтересовани страни, тъй като се изисква по-малко решения за кодиране от традиционните приложения.
Много събития се определят от действията на потребителя, а не от разширено кодиране за всички възможни сценарии. Докато традиционните приложения действат, реагираните на събития приложения реагират.
гъвкавост
Той е напълно подходящ за последните тенденции в софтуерното инженерство като облачни изчисления, микросервизи и необходимостта от по-добра мащабируемост с гъвкави и разпределени системи.
Валидни билети
Елиминира възможността за записи с невалидни стойности. Традиционното приложение задава въпрос и позволява на потребителя да въведе отговор. Приложенията, управлявани от събития, обикновено предлагат набор от опции, като бутони или като падащи менюта.
Лесна поддръжка
Необходимостта от коригиране и коригиране на съществуващ код при добавяне или премахване на модули се елиминира. Системата продължава да работи безпроблемно независимо от всяка такава настройка.
Следователно това програмиране е подходящо за приложения с контролни потоци въз основа на набор от вътрешни и външни събития, а не на база структура.
Недостатъци
Сложен контролен поток
Този подход към програмирането не е най-добрият вариант за малки и прости приложения, тъй като усилията, които трябва да положат, не се оказват разумни.
Разработването на приложение, управлявано от събития, увеличава сложността на дизайна и доставката на системата. Това е така, защото традиционните софтуерни архитектури се основават на взаимодействия, базирани на заявки, а не на взаимодействия, базирани на събития.
Освен това се изисква и голяма подготовка поради необходимостта от непрекъснато динамични контури на събитията.
Той не замества структурираното програмиране
Трябва да се отбележи, че ориентираното към събития програмиране не замества традиционното структурирано програмиране, а само го допълва.
Традиционните методологии за програмиране остават от съществено значение за писането на цялостната програма, докато управляваните от събития кодиращи елементи служат само за подпомагане на проектирането на GUI.
гъвкавост
Гъвкавостта на ориентираното към събития планиране, което е неговото безспорно предимство, също се превръща в измама при определени сценарии. Една от тези прояви е непредсказуемостта на програма, ориентирана към събития, в случай че има промени и по-слаб контрол върху цялостната система.
Въпреки че енкодерите обичат да използват програмиране, управлявано от събития, за да правят корекции без триене, като премахване или добавяне на някои функционални модули, тези корекции могат да доведат до неочаквани промени във функционалността.
При конвенционалното програмиране системата много бързо открива тези оперативни аномалии, предоставяйки доклад на програмиста за техните причини. В програмната среда, управлявана от събития, откриването на такива неизправности е по-малко бързо и лесно.
Приложения
Тъй като програмирането, управлявано от събития, се оказва по-скоро подход, отколкото тип език, приложенията, базирани на събития, могат да бъдат създадени на всеки език за програмиране.
Програмираното от събития трансформира света на услугите за разработка на софтуер и се превръща в неразделна част от днешното развитие. Дифузията му е стимулирана от Windows и разпространението на визуални среди.
Случай на ситуация, свързана със събития, би приличал на таймер за събуждане, зададен да изпълни конкретна задача в определен момент, като звънене и предаване на нещо, което гласи: "Събуди се!"
Графичен потребителски интерфейс
Този подход за планиране е ориентиран към събитията. Най-разпространените му области на приложение включват създаване на графичен потребителски интерфейс (GUI), сървърни приложения и разработване на мултиплейър игри.
Докато конвенционалните програми установяват потока от събития и имат контрол върху потребителските опции, това по-иновативно програмиране послужи за създаването на GUI.
GUI промени взаимодействието между човек и компютър, като предлага на потребителите множество опции под формата на падащи менюта, прозорци, бутони и квадратчета за отметки.
Следователно, вместо да следват предварително зададения ред от действия, зададен от компютъра, потребителите могат да избират една от многото налични команди.
В допълнение към това, че това програмиране се прилага широко в графични потребителски интерфейси, то се прилага широко и за приложения, които извършват определени действия в отговор на въвеждането от потребителя, като например уеб приложения на JavaScript.
Препратки
- Raspal Chima (2018). Приложения, управлявани от събития в разработката на софтуер. Консултанти за боровинки. Взето от: bbconsult.co.uk.
- Кворум (2020). Създаване на приложения - Урок 1: Въведение в програмирането, управлявано от събития. Взета от: quorumlanguage.com.
- Маргарет Руус (2012). Приложение, управлявано от събития. TechTarget. Взета от: searchitoperations.techtarget.com.
- Британски есета (2018). Функции за програмиране, управлявани от събития Взета от: ukessays.com.
- Souvik Banerjee (2019). Програмирано от събития програмиране: Защо е тенденция сега? RS Websols. Взета от: rswebsols.com.
- Техопедия (2018). Програма, ръководена от събития Взета от: roofpedia.com.
- Технология Великобритания (2020). Програмиране на събития Взета от: technologyuk.net.