- Uz notikumiem orientētas programmēšanas iezīmes
- Notikumu atkarība
- Orientēts uz pakalpojumu
- Notikumi
- Kontrolieris
- Palaišanas funkcijas
- Laiks kontrolēts
- Notikumu vadītas programmēšanas piemēri
- Darba atļauja
- Darbību sākšana
- Priekšrocība
- Ātrāka apstrāde
- Interaktivitāte
- Mazāka lēmumu kodēšana
- Elastība
- Derīgas biļetes
- Vienkārša apkope
- Trūkumi
- Sarežģīta vadības plūsma
- Tas neaizstāj strukturētu programmēšanu
- Elastība
- Lietojumprogrammas
- Grafiska lietotāja saskarne
- Atsauces
Notikums - brauc programmēšana attiecas uz modeli datorprogrammēšana, kur tiek izmantoti notikumi, kas notiek, lai noteiktu kontroles plūsmu programmas.
Tas nav tehnoloģiju tips vai programmēšanas valoda, bet drīzāk pieeja, kas tiek ieviesta produkta attīstības posmā. Būtībā tas atdala notikumu apstrādes loģiku no pārējā programmas koda.
Šis programmēšanas veids ir paredzēts, lai atklātu notikumus, kad tie notiek, izmantojot atbilstošu notikumu apstrādes procedūru, lai tos novērstu, parasti, izsaucot funkciju vai metodi.
Teorētiski šīs programmēšanas stils ir savietojams ar visām programmēšanas valodām, lai arī tas var atšķirties tā ieviešanas veidā.
Parasti notikumu virzītā lietojumprogrammā ir galvenā cilpa, kas “klausās” jaunus ienākošos notikumus, izsaucot funkciju izsaukumu, kad tie tiek atklāti. Tāpēc tā darbība ir vērsta uz notikumiem, izlemjot, ko un kādā secībā izpildīt.
Uz notikumiem orientētas programmēšanas iezīmes
Avots: pixabay.com
Notikumu atkarība
Programmas plūsmu piešķir notikumi, kas var būt lietotāja darbības, ziņojumu no citām programmām utt., Atdalot notikumu apstrādes loģiku no pārējā programmas koda, tādējādi kontrastējot ar pakešu apstrādi.
Paši notikumi var svārstīties no aizdevuma pieprasījuma pieņemšanas vai noraidīšanas, ko sauc par augsta līmeņa notikumu, līdz brīdim, kad lietotājs nospiež taustiņu, kas ir zema līmeņa notikums.
Orientēts uz pakalpojumu
To izmanto, lai rakstītu apkopei paredzētas programmas, nepalēninot datora darbību, jo orientācija uz pakalpojumu patērē tikai nelielu apstrādes jaudu. Arī pakalpojumi parasti darbojas operētājsistēmas fona apstākļos.
Notikumi
Tas ir nosacījums, kas rodas programmas izpildes laikā, un no sistēmas puses ir jāveic kādas darbības. Katram notikumam ir atšķirīgs raksturs, dažiem ir nepieciešama programma, lai izgūtu un parādītu noteiktu informāciju, bet citiem ir nepieciešami daži aprēķini un stāvokļa izmaiņas.
Notikumos ietilpst pele, tastatūra, lietotāja saskarne un darbības, kuras jāuzsāk programmā, kad tās notiek. Tas nozīmē, ka lietotājam mijiedarbojas ar kādu objektu programmā, piemēram, jānoklikšķina ar peles pogu, izmantojot tastatūru, lai atlasītu pogu utt.
Kontrolieris
Tā ir noteikta programmas vienība, kas tiek aktivizēta, lai reaģētu uz notikumu. Tas ir, tas ir funkcijas vai metodes tips, kas veic noteiktu darbību, kad tiek iedarbināts noteikts notikums.
Piemēram, tā varētu būt poga, kas, lietotājam noklikšķinot uz tā, parāda ziņojumu un, kad viņi atkārtoti noklikšķina uz šīs pogas, ziņojumu aizver.
Palaišanas funkcijas
Tās ir funkcijas, kas izlemj, kuru kodu izpildīt, ja notiek konkrēts notikums. Tos izmanto, lai izvēlētos, kuru notikumu apstrādātāju izmantot, ja notiek kāds notikums.
Laiks kontrolēts
Tas ir noteikts kods, kas darbojas noteiktā laikā. Tas nozīmē, ka tas ir iepriekš iestatīts uzdevums, kas jāveic.
Windows atjaunināšana ir kontrolēta laika piemērs, kurā lietotājs var iestatīt, kad atjaunināt vai kad pārbaudīt un lejupielādēt atjauninājumu.
Notikumu vadītas programmēšanas piemēri
Uz notikumiem orientētas programmas ir kļuvušas ļoti izplatītas. Starp redzamākajiem piemēriem var minēt tekstapstrādi, zīmēšanas rīkus, izklājlapas utt.
Lielākā daļa mūsdienu ziņojumapmaiņas sistēmu arī seko uz notikumiem balstītam modelim, savukārt liela mēroga vietnēs tiek izmantota mērogojama un uz notikumiem balstīta izkliedēta arhitektūra. Citi piemēri:
- Tika nospiests taustiņš (teksta redaktors).
- Visam personālam (vadības sistēmai) ir gatavs jauns uzdevumu kalendārs.
- ir saņemts HTML ziņojums (tīmekļa serveris).
- Konstatēts nelikumīgs tirdzniecības modelis (krāpšanas atklāšana).
- Datorspēlē esoša automašīna saduras ar citu automašīnu (sacīkšu spēle).
- Robots ir sasniedzis galamērķi (noliktavas pārvaldība reāllaikā).
Darba atļauja
Praktisks notikuma piemērs, ko izmanto uz notikumiem balstītā programmēšanā, varētu būt darbinieks, kurš piesakās uz darba atļauju sistēmā. Kad šis darbinieks izdod savu pieprasījumu, viņš aktivizēs paziņojumu, kas tiks nosūtīts vadītājam apstiprināšanai.
Pārvaldnieks varēja apskatīt pieprasījuma informāciju, apstiprināt vai noraidīt, atjauninot to sistēmā, bez nepieciešamības uzsākt papildu sesijas.
Darbību sākšana
Programmas darbības, kas seko uz notikumiem orientētas programmēšanas pamatiem, sāk notikumi:
- Aparatūra.
- ieplānots.
- Par izpildes laiku.
- no operētājsistēmas.
- Aktivizēts ar lietotāja norādījumiem, kas sniegti, mijiedarbojoties ar programmas GUI.
Vienkāršākajā režīmā programmētājiem ir jāatbild uz jautājumu: "Kas jānotiek, ja notiek noteikts notikums?"
Šī pseidokoda rutīna parāda, kā varētu darboties ļoti vienkāršs plānotājs. Tas sastāv no galvenās cilpas, kas darbojas nepārtraukti, līdz rodas daži izbeigšanas apstākļi.
Kad notiek notikums, plānotājam ir jānosaka notikuma tips un jāizvēlas atbilstošais notikumu apstrādātājs vai jārīkojas ar notikumu, ja piemērotu notikumu apstrādātāju nav.
Priekšrocība
Ātrāka apstrāde
Sakarā ar datu izplatīšanos starp vairākiem procesoriem un notikumu apstrādātājiem.
Interaktivitāte
Šī ir vissvarīgākā uz notikumiem orientētās programmēšanas priekšrocība, uzlabojot lietotāja pieredzi. Mūsdienu lietotāji vēlas aktīvi piedalīties un nepalikt pasīvos patērētājos.
Tāpēc uz notikumiem balstītas programmas palīdz lietotājiem orientēties savā pieredzē un izpētīt dažādas iespējas bez iepriekš noteiktiem ierobežojumiem.
Mazāka lēmumu kodēšana
Šai pieejai programmēšanai ir daudz priekšrocību visām ieinteresētajām personām, jo kodēšanai nepieciešams mazāk lēmumu nekā tradicionālajām lietojumprogrammām.
Daudzus notikumus nosaka lietotāja darbības, nevis visu iespējamo scenāriju uzlabota kodēšana. Kamēr darbojas tradicionālās lietojumprogrammas, uz notikumiem balstītās lietojumprogrammas reaģē.
Elastība
Tas ir lieliski piemērots tādām jaunākajām programmatūras inženierijas tendencēm kā mākoņdatošana, mikropakalpojumi un vajadzība pēc labākas mērogojamības ar elastīgām un izkliedētām sistēmām.
Derīgas biļetes
Novērš iespēju veikt ierakstus ar nederīgām vērtībām. Tradicionālā lietojumprogramma uzdod jautājumu un ļauj lietotājam ievadīt atbildi. Uz notikumiem balstītas lietojumprogrammas parasti piedāvā opciju komplektu kā pogas vai kā nolaižamās izvēlnes.
Vienkārša apkope
Pievienojot vai noņemot moduļus, vairs nav jālabo un jāpielāgo esošais kods. Sistēma turpina darboties vienmērīgi, neatkarīgi no šādas pielāgošanas.
Tāpēc šī programmēšana ir piemērota lietojumiem ar vadības plūsmām, kuru pamatā ir iekšējo un ārējo notikumu kopums, nevis balstīta uz struktūru.
Trūkumi
Sarežģīta vadības plūsma
Šī pieeja programmēšanai nav labākais risinājums mazām un vienkāršām lietojumprogrammām, jo piepūles, kas jāveic, neizrādās saprātīgas.
Notikumu balstītas lietojumprogrammas izstrāde palielina sistēmas projektēšanas un piegādes sarežģītību. Tas ir tāpēc, ka tradicionālās programmatūras arhitektūras ir balstītas uz mijiedarbību, kas balstīta uz pieprasījumu, nevis uz notikumiem balstīta mijiedarbība.
Turklāt ir nepieciešama arī liela sagatavošanās, jo ir vajadzīgas nepārtraukti dinamiskas notikumu cilpas.
Tas neaizstāj strukturētu programmēšanu
Jāatzīmē, ka uz notikumiem vērsta programmēšana neaizstāj tradicionālo strukturēto programmēšanu, bet tikai papildina to.
Tradicionālās programmēšanas metodoloģijas joprojām ir būtiskas kopējās programmas rakstīšanai, savukārt notikumu vadīti kodēšanas elementi kalpo tikai, lai palīdzētu noformēt GUI.
Elastība
Uz notikumiem orientētas plānošanas elastība, kas ir tās neapstrīdamās priekšrocības, arī noteiktos scenārijos pārvēršas par krāpšanu. Viena no šīm izpausmēm ir uz notikumiem orientētas programmas neparedzamība, ja tai ir izmaiņas un vājāka kontrole pār visu sistēmu.
Lai arī kodētājiem patīk izmantot uz notikumiem balstītu programmēšanu, lai veiktu pielāgojumus bez berzes, piemēram, noņemtu vai pievienotu dažus funkcionālos moduļus, šie pielāgojumi var izraisīt negaidītas funkcionalitātes izmaiņas.
Parastā programmēšanā sistēma ļoti ātri atklāj šīs darbības anomālijas, sniedzot programmētājam ziņojumu par to cēloņiem. Notikumu virzītā programmēšanas vidē šādu darbības traucējumu noteikšana nav tik ātra un vienkārša.
Lietojumprogrammas
Tā kā uz notikumiem balstīta programmēšana izrādās drīzāk pieeja, nevis valodas tips, lietojumprogrammas, kas balstītas uz notikumiem, var izveidot jebkurā programmēšanas valodā.
Uz notikumiem balstīta programmēšana pārveido programmatūras izstrādes pakalpojumu pasauli un kļūst par neatņemamu mūsdienu attīstības sastāvdaļu. Tās difūziju stimulēja Windows un vizuālās vides difūzija.
Notikuma vadītas situācijas gadījums atgādina modināšanas taimeri, kas iestatīts konkrēta uzdevuma veikšanai noteiktā laikā, piemēram, zvana un saziņa ar kaut ko, kas saka: "Mosties!"
Grafiska lietotāja saskarne
Šī plānošanas pieeja ir orientēta uz notikumiem. Tās visizplatītākās lietojumprogrammu jomas ir grafiskā lietotāja interfeisa (GUI), servera lietojumprogrammu izveidošana un vairāku spēlētāju spēļu izstrāde.
Kaut arī parastās programmas nosaka notikumu plūsmu un tām ir kontrole pār lietotāja iespējām, šī novatoriskākā programmēšana kalpoja GUI izveidošanai.
GUI mainīja cilvēka un datora mijiedarbību, piedāvājot lietotājiem vairākas iespējas nolaižamo izvēlņu, logu, pogu un izvēles rūtiņu veidā.
Tāpēc lietotāji tā vietā, lai ievērotu datora iepriekš noteikto darbību secību, paši var izvēlēties vienu no daudzajām pieejamajām komandām.
Papildus tam, ka šī programmēšana tiek plaši izmantota grafiskajās lietotāja saskarnēs, tā tiek plaši pielietota arī lietojumprogrammās, kas veic noteiktas darbības, reaģējot uz lietotāja ievadi, piemēram, JavaScript tīmekļa lietojumprogrammās.
Atsauces
- Raspal Chima (2018). Uz notikumiem balstītas lietojumprogrammas programmatūras izstrādē. Melleņu konsultanti. Paņemts no: bbconsult.co.uk.
- Kvorums (2020. gads). Programmu veidošana - 1. nodarbība: Ievads uz notikumiem balstītā programmēšanā. Iegūts no: quorumlanguage.com.
- Margareta Rūsa (2012). Uz notikumiem balstīta lietojumprogramma. Tehniskais mērķis. Paņemts no: searchitoperations.techtarget.com.
- Lielbritānijas esejas (2018). Pasākumu vadītas programmēšanas iespējas. Iegūts no: ukessays.com.
- Souvik Banerjee (2019. gads). Uz notikumiem balstīta programmēšana: kāpēc tā šobrīd ir tendence? RS tīkli. Iegūts no: rswebsols.com.
- Techopedia (2018). Pasākumu vadīta programma. Paņemts no: limitspedia.com.
- Technology UK (2020). Pasākumu balstīta programmēšana. Paņemts no: technologyuk.net.