- Į renginius orientuoto programavimo ypatybės
- Įvykių priklausomybė
- Orientuotas į paslaugas
- Renginiai
- Valdiklis
- Suaktyvinimo funkcijos
- Laikas kontroliuojamas
- Įvykiais paremto programavimo pavyzdžiai
- Leidimas dirbti
- Veiksmų inicijavimas
- Privalumas
- Greitesnis apdorojimas
- Interaktyvumas
- Mažiau sprendimų kodavimas
- Lankstumas
- Galiojantys bilietai
- Lengva priežiūra
- Trūkumai
- Kompleksinis valdymo srautas
- Tai nepakeičia struktūrizuoto programavimo
- Lankstumas
- Programos
- Grafinė vartotojo sąsaja
- Nuorodos
Įvykis - varoma programavimo nurodo kompiuterio programavimo modelis, kur įvykiai, kurie įvyksta nustatyti kontrol srautą programos naudojamos.
Tai nėra technologijos rūšis ar programavimo kalba, o požiūris, įgyvendinamas produkto kūrimo etape. Iš esmės, tai atskiria įvykių apdorojimo logiką nuo likusio programos kodo.
Šis programavimo būdas yra skirtas nustatyti įvykius, kai jie įvyksta, naudojant tinkamą įvykių tvarkymo procedūrą, skirtą jiems pašalinti, paprastai iškviečiant funkciją ar metodą.
Teoriškai šio programavimo stilius suderinamas su visomis programavimo kalbomis, nors jis gali skirtis diegiant.
Apskritai, į įvykį orientuotoje programoje yra pagrindinė kilpa, kuri „klausosi“ naujų gaunamų įvykių ir suaktyvina funkcijos skambutį, kai jie aptinkami. Todėl jos veikimas sutelktas į įvykius, nusprendžiant, ką vykdyti ir kokia tvarka.
Į renginius orientuoto programavimo ypatybės
Šaltinis: pixabay.com
Įvykių priklausomybė
Programos srautą suteikia įvykiai, kurie gali būti vartotojo veiksmai, kitų programų pranešimai ir pan., Atskirti įvykių apdorojimo logiką nuo likusio programos kodo, taigi kontrastuojantys su paketo apdorojimu.
Patys įvykiai gali būti įvairūs: nuo paskolos prašymo, vadinamo aukšto lygio įvykiu, priėmimo ar atmetimo iki vartotojo paspaudimo, kuris yra žemo lygio įvykis.
Orientuotas į paslaugas
Jis naudojamas rašyti programas, skirtas aptarnavimui, neskubinant kompiuterio, nes orientacija į tarnybą sunaudoja tik mažai apdorojimo galios. Be to, paslaugos paprastai teikiamos operacinės sistemos fone.
Renginiai
Tai sąlyga, atsirandanti vykdant programą, ir reikalaujantys tam tikrų sistemos veiksmų. Kiekvienas įvykis yra skirtingas pagal savo pobūdį, kai kuriems reikia programos nuskaityti ir parodyti tam tikrą informaciją, o kitiems reikia inicijuoti kai kuriuos skaičiavimus ir būsenos pakeitimus.
Įvykiai apima pelę, klaviatūrą, vartotojo sąsają ir veiksmus, kurie turėtų būti suaktyvinti programoje jiems įvykus. Tai reiškia, kad vartotojas turi bendrauti su programos objektu, pavyzdžiui, spustelėti pelės mygtuką, klaviatūra pasirinkti mygtuką ir pan.
Valdiklis
Tai yra tam tikras programos vienetas, suaktyvinamas reaguoti į įvykį. T. y., Tai yra tam tikros rūšies funkcija ar metodas, kuris atlieka tam tikrą veiksmą, kai suaktyvinamas tam tikras įvykis.
Pvz., Tai gali būti mygtukas, kurį spustelėjęs vartotojas parodo pranešimą, o paspaudęs tą mygtuką vėl, uždaro pranešimą.
Suaktyvinimo funkcijos
Tai yra funkcijos, kurios nusprendžia, kokį kodą vykdyti, įvykus konkrečiam įvykiui. Jie naudojami pasirenkant, kurį įvykių tvarkytuvą naudoti įvykus įvykiui.
Laikas kontroliuojamas
Tai yra konkretus kodas, kuris veikia tam tikru metu. Tai reiškia, kad tai iš anksto nustatyta užduotis.
„Windows“ naujinimas yra kontroliuojamo laiko, kai vartotojas gali nustatyti, kada atnaujinti, ar kada tikrinti ir atsisiųsti naujinimą, pavyzdys.
Įvykiais paremto programavimo pavyzdžiai
Į įvykius orientuotos programos tapo labai įprasta. Tarp ryškiausių pavyzdžių yra tekstų apdorojimas, piešimo įrankiai, skaičiuoklės ir kt.
Dauguma šiuolaikinių pranešimų siuntimo sistemų taip pat seka įvykiais pagrįstą modelį, o didelės apimties svetainėse naudojama keičiamo dydžio ir įvykiams pritaikyta paskirstytojo pobūdžio architektūra. Kiti pavyzdžiai:
- Buvo paspaustas klavišas (teksto rengyklė).
- Naujas užduočių kalendorius paruoštas paskirstyti visiems darbuotojams (valdymo sistemai).
- Gautas HTML pranešimas (žiniatinklio serveris).
- Aptiktas neteisėtas prekybos modelis (sukčiavimo nustatymas).
- Kompiuterinio žaidimo automobilis susiduria su kitu automobiliu (lenktynių žaidimas).
- Robotas pasiekė savo tikslą (sandėlio valdymas realiu laiku).
Leidimas dirbti
Praktinis įvykio pavyzdys, naudojamas rengiant renginius, galėtų būti darbuotojas, kuris kreipiasi dėl darbo leidimo sistemoje. Kai šis darbuotojas pateiks prašymą, jis suaktyvins pranešimą, kuris bus išsiųstas vadovui patvirtinti.
Valdytojas galėjo peržiūrėti išsamią užklausos informaciją, ją patvirtinti arba atmesti, atnaujindamas ją sistemoje, nepradėdamas papildomų sesijų.
Veiksmų inicijavimas
Į įvykius orientuoto programavimo pagrindus atitinkančios programos veiksmus inicijuoja įvykiai:
- Techninė įranga.
- Suplanuota.
- Vykdymo laikas.
- Iš operacinės sistemos.
- Suaktyvinama pagal vartotojo instrukcijas, pateiktas sąveikaujant su programos GUI.
Paprasčiausiu režimu programuotojai turi atsakyti į klausimą: „Kas turėtų nutikti įvykus tam tikram įvykiui?“
Ši pseudo kodo rutina parodo, kaip galėtų veikti labai paprastas planuoklis. Jį sudaro pagrindinė kilpa, kuri nuolatos eina tol, kol įvyksta tam tikros nutraukimo sąlygos.
Įvykus įvykiui, planuotojas turi nustatyti įvykio tipą ir pasirinkti tinkamą įvykių tvarkytuvą arba tvarkyti įvykį, jei tinkamo įvykių tvarkytojo nėra.
Privalumas
Greitesnis apdorojimas
Dėl duomenų plitimo tarp kelių procesorių ir įvykių tvarkytojų.
Interaktyvumas
Tai yra svarbiausias į įvykį orientuoto programavimo pranašumas, gerinantis vartotojo patirtį. Šiandienos vartotojai nori aktyviai dalyvauti ir nelikti pasyvūs vartotojai.
Todėl įvykiais pagrįstos programos padeda vartotojams naršyti pagal savo patirtį ir tyrinėti įvairias galimybes be iš anksto nustatytų apribojimų.
Mažiau sprendimų kodavimas
Šis požiūris į programavimą turi daug naudos visoms suinteresuotosioms šalims, nes koduoti reikia mažiau sprendimų nei tradicinėms programoms.
Daugelį įvykių lemia vartotojo veiksmai, o ne visų galimų scenarijų išplėstinis kodavimas. Nors tradicinės programos veikia, į įvykius orientuotos programos reaguoja.
Lankstumas
Tai puikiai tinka tokioms naujausioms programinės įrangos inžinerijos tendencijoms kaip debesų kompiuterija, mikroservisai ir geresnio mastelio poreikis naudojant lanksčias ir paskirstytas sistemas.
Galiojantys bilietai
Pašalina įrašų su negaliojančiomis reikšmėmis galimybę. Tradicinė programa užduoda klausimą ir leidžia vartotojui įvesti atsakymą. Įvykiams pritaikytos programos paprastai siūlo rinkinį, kurį galima pasirinkti kaip mygtukus arba kaip išskleidžiamąjį meniu.
Lengva priežiūra
Nebereikia taisyti ir koreguoti esamo kodo pridedant ar šalinant modulius. Sistema ir toliau veikia sklandžiai, nepriklausomai nuo tokio reguliavimo.
Todėl šis programavimas tinka programoms, kurių valdymo srautai grindžiami vidinių ir išorinių įvykių rinkiniu, o ne grindžiami struktūra.
Trūkumai
Kompleksinis valdymo srautas
Šis požiūris į programavimą nėra geriausias pasirinkimas mažoms ir paprastoms programoms, nes pastangos, kurios turi būti dedamos, nėra protingos.
Įvykių programos plėtra padidina sistemos projektavimo ir pateikimo sudėtingumą. Taip yra todėl, kad tradicinės programinės įrangos architektūros grindžiamos užklausų, o ne įvykių sąlygota sąveika.
Be to, labai reikia pasiruošti ir dėl to, kad reikia nuolat dinamiškų įvykių ciklų.
Tai nepakeičia struktūrizuoto programavimo
Reikėtų pažymėti, kad į renginius orientuotas programavimas nepakeičia tradicinio struktūrizuoto programavimo, o tik jį papildo.
Tradicinės programavimo metodikos išlieka labai svarbios rašant bendrą programą, tuo tarpu įvykiais paremti kodavimo elementai tik padeda suprojektuoti GUI.
Lankstumas
Į įvykį orientuoto planavimo lankstumas, kuris yra neginčijamas pranašumas, tam tikrais atvejais taip pat virsta sukčiavimu. Viena iš šių apraiškų yra į įvykį orientuotos programos nenuspėjamumas, jei joje būtų pokyčių ir būtų silpnesnė visos sistemos kontrolė.
Nors programuotojai mėgsta naudoti įvykiais paremtą programavimą, kad būtų galima pritaikyti trintį, pavyzdžiui, pašalinti arba pridėti kai kuriuos funkcinius modulius, šie pakeitimai gali sukelti netikėtų funkcinių pokyčių.
Įprastu programavimu sistema labai greitai nustato šias veikimo anomalijas, pateikdama programuotojui pranešimą apie jų priežastis. Įvykio sąlygotoje programavimo aplinkoje tokius sutrikimus aptikti nėra taip greita ir lengva.
Programos
Kadangi paaiškėja, kad į įvykius orientuotas programavimas yra labiau požiūris nei kalbos rūšis, įvykiais paremtos programos gali būti sukurtos bet kuria programavimo kalba.
Įvykių programavimas keičia programinės įrangos kūrimo paslaugų pasaulį ir tampa neatsiejama šių dienų plėtros dalimi. Jos sklaidą skatino „Windows“ ir vaizdinės aplinkos sklaida.
Įvykio sukeltos situacijos atvejis panašus į pabudimo laikmatį, nustatytą tam tikru metu atlikti tam tikrą užduotį, pavyzdžiui, suskambėti ir pranešti apie tai, kas sako: „Pabusti!“.
Grafinė vartotojo sąsaja
Šis planavimo metodas yra orientuotas į įvykius. Dažniausiai naudojamos programos apima grafinės vartotojo sąsajos (GUI), serverio programų kūrimą ir kelių žaidėjų žaidimų kūrimą.
Nors įprastos programos nustato įvykių srautą ir kontroliuoja vartotojo parinktis, šis novatoriškesnis programavimas padėjo sukurti GUI.
GUI pakeitė žmogaus ir kompiuterio sąveiką, vartotojams siūlydama kelias parinktis išskleidžiamųjų meniu, langų, mygtukų ir žymimųjų laukelių pavidalu.
Todėl, užuot sekę iš anksto kompiuterio nustatytą veiksmų tvarką, vartotojai gali patys pasirinkti vieną iš daugelio galimų komandų.
Be to, kad šis programavimas yra plačiai pritaikomas grafinėse vartotojo sąsajose, jis taip pat plačiai taikomas programose, kurios atlieka tam tikrus veiksmus, reaguodamos į vartotojo įvestas, pavyzdžiui, „JavaScript“ žiniatinklio programose.
Nuorodos
- „Raspal Chima“ (2018). Įvykiams pritaikytos programos kuriant programinę įrangą. Mėlynių konsultantai. Paimta iš: bbconsult.co.uk.
- Kvorumas (2020 m.). Programų kūrimas - 1 pamoka: Į renginius orientuoto programavimo įvadas. Paimta iš: quorumlanguage.com.
- Margaret Rouse (2012). Įvykių pagrįsta programa. Techninis tikslas. Paimta iš: searchitoperations.techtarget.com.
- JK esė (2018). Įvykiams pritaikytos programavimo funkcijos. Paimta iš: ukessays.com.
- „Souvik Banerjee“ (2019 m.). Įvykių paremtas programavimas: kodėl jis dabar populiarus? RS internetiniai tinklai. Paimta iš: rswebsols.com.
- „Techopedia“ (2018). Į renginius orientuota programa. Paimta iš: ribapedia.com.
- JK „Technology UK“ (2020). Įvykių programavimas. Paimta iš: technologyuk.net.