Kontentke ótiw

Waqıyaǵa tiykarlanǵan programmalastırıw

Wikipedia — erkin enciklopediya

Kompyuter programmalastırıwda, waqıyaǵa tiykarlanǵan programmalastırıw — bul programmanıń aǵımı sırtqı waqıyalar menen anıqlanatuǵın programmalastırıw paradigması. Tıshqansha, klaviatura, touchpad hám sensorlı ekranlardan kelip shıǵatuǵın paydalanıwshı interfeysi waqıyaları, sonday-aq sırtqı sensor kirgiziwleri keń tarqalǵan jaǵdaylar bolıp tabıladı. Waqıyalar sonday-aq programmalıq túrde, mısalı, basqa programmalardan kelgen xabarlar, basqa aǵımlardan kelgen xabarlandırıwlar yamasa basqa da tarmaq waqıyaları arqalı payda etiliwi múmkin.

Waqıyaǵa tiykarlanǵan programmalastırıw grafikalıq paydalanıwshı interfeysi qosımshalarında hám tarmaq serverlerinde qollanılatuǵın ústem paradigma bolıp tabıladı.

Waqıyaǵa tiykarlanǵan qosımshada, ádette, waqıyalardı tıńlaytuǵın, sońınan sol waqıyalardıń biri anıqlanǵanda keri shaqırıw funkciyasın iske túsiretuǵın waqıyalar cikli boladı.

Waqıyaǵa tiykarlanǵan programmalar hár qanday programmalastırıw tilinde jazılıwı múmkin, degen menen, wazıypa joqarı dárejeli abstrakciyalardı usınatuǵın tillerde ańsatlaw.

Olar waqıyaǵa tiykarlanǵan modelge tolıq sáykes kelmese de, úzilislerdi qayta islew hám ayrıqsha jaǵdaylardı qayta islew kóplegen uqsaslıqlarǵa iye.

Waqıyaǵa tiykarlanǵan hám xabarǵa tiykarlanǵan (gezekke tiykarlanǵan dep te ataladı) paradigmalardı ajıratıw áhmiyetli: Waqıyaǵa tiykarlanǵan xızmetler (mısalı, AWS SNS) ózleriniń tutınıwshılarınan ajıratılǵan. Al gezekke/xabarǵa tiykarlanǵan xızmetler (mısalı, AWS SQS) ózleriniń tutınıwshıları menen baylanıslı[1].

Waqıyalar cikli

Waqıyalardı alıw/jiberiw waqıyalar cikli qosımshalar arasında keń tarqalǵanlıqtan, kóplegen programmalastırıw freymvorkları olardıń ámelge asırılıwın óz moynına aladı hám paydalanıwshıdan tek waqıya qayta islewshileri ushın kodtı usınıwın kútedi.

RPG, IBMniń dáslepki programmalastırıw tili bolıp, onıń 1960-jıllardaǵı dizayn koncepciyası joqarıda talqılanǵan waqıyaǵa tiykarlanǵan programmalastırıwǵa uqsas edi, ornatılǵan tiykarǵı kirgiziw/shıǵarıw ciklin (programma cikli dep ataladı) usındı, onda esaplawlar cikldıń aldıńǵı basqıshlarında ornatılǵan «kórsetkishlerge» (bayraqlarǵa) sáykes juwap beretuǵın edi.

Waqıya qayta islewshileri

Haqıyqıy logika waqıya qayta islewshisi proceduralarında jaylasqan. Bul proceduralar tiykarǵı programma juwap beretuǵın waqıyalardı qayta isleydi. Mısalı, GUI programmasındaǵı buyrıq túymesine tıshqanshanıń bir ret shep túyme menen basıw basqa aynanı ashatuǵın, maǵlıwmatlardı maǵlıwmatlar bazasına saqlaytuǵın yamasa qosımshadan shıǵatuǵın proceduranı iske túsiriwi múmkin. Kóp IDE ler baǵdarlamashıǵa GUI waqıya shablonların usınadı, bul baǵdarlamashıǵa waqıya kodın jazıwǵa itibar beriwge imkaniyat beredi.

Tariyxtı baqlap barıw ádette izbe-iz programmada ápiwayı. Waqıya qayta islewshileri sırtqı waqıyalardıń tásirine juwap retinde orınlanǵanlıqtan, qayta islewshilerdi hár qanday tártipte shaqırılǵanda durıs isleytuǵın etip strukturalastırıw waqıyaǵa tiykarlanǵan programmada arnawlı itibar hám jobalastırıwdı talap etiwi múmkin.

Waqıya qayta islewshilerin jazıwdan tısqarı, waqıya qayta islewshiler sonday-aq waqıyalarǵa da baylanıstırılıwı kerek, solay etip waqıya júz bergende durıs funkciya shaqırıladı. Paydalanıwshı interfeysi waqıyaları ushın, kóp IDE-ler eki qádemdi biriktiredi: túymege eki ret basıń hám redaktor paydalanıwshınıń túymeni basıwı menen baylanıslı (bos) waqıya qayta islewshisin jaratadı hám tekst aynasın ashadı, solay etip siz waqıya qayta islewshisin redaktorlay alasız.

Keń tarqalǵan qollanıwları

Kópshilik bar bolǵan GUI arxitekturaları waqıyaǵa tiykarlanǵan programmalastırıwdı paydalanadı. Windowsta waqıya cikli bar. Java AWT freymvorkı barlıq paydalanıwshı interfeysi ózgerislerin Waqıyalardı Jiberiwshi Aǵım dep atalatuǵın bir aǵımda qayta isleydi. Sonday-aq, Java freymvorkı JavaFX-tegi barlıq paydalanıwshı interfeysi jańalanıwları JavaFX Qosımsha Aǵımında júz beredi[2].

Node.js sıyaqlı kópshilik tarmaq serverleri hám freymvorkları da waqıyaǵa tiykarlanǵan.

Derekler

  1. Chandrasekaran, Premanand; Krishnan, Karthik; Ford, Neal; Byars, Brandon; Buijze, Allard. Domain-Driven Design with Java - A Practitioner's Guide. Packt Publishing, 2022. ISBN 9781800564763. 
  2. Fedortsova. «Concurrency in JavaFX». JavaFX Documentation Home. Oracle (iyun 2012). — „The JavaFX scene graph, which represents the graphical user interface of a JavaFX application, is not thread-safe and can only be accessed and modified from the UI thread also known as the JavaFX Application thread.“. Qaraldı: 4-yanvar 2018-jıl.