- תכונות של תכנות מונחה אירועים
- תלות באירועים
- מכוון שירות
- אירועים
- בקר
- פונקציות הדק
- זמן מבוקר
- דוגמאות לתכנות מונע אירועים
- אישור עבודה
- התחלת פעולות
- יתרון
- עיבוד מהיר יותר
- אינטראקטיביות
- פחות קידוד החלטות
- גְמִישׁוּת
- כרטיסים תקפים
- תחזוקה קלה
- חסרונות
- זרימת בקרה מורכבת
- זה לא מחליף תכנות מובנית
- גְמִישׁוּת
- יישומים
- ממשק משתמש גרפי
- הפניות
האירוע - תכנות מונחה מתייחס למודל של תכנות מחשבים, שבו האירועים שקורים לקבוע את זרימת שליטה על תוכנית משמשים.
זה לא סוג של טכנולוגיה או שפת תכנות, אלא גישה שמיושמת בשלב פיתוח המוצר. בעיקרון, זה מפריד בין לוגיקת עיבוד האירועים לשאר הקוד בתוכנית.
תכנות מסוג זה נועדה לגלות אירועים בזמן שהם מתרחשים, תוך שימוש בהליך מתאים של אירועים להתמודדות איתם, בדרך כלל באמצעות קריאה לפונקציה או לשיטה.
תיאורטית, סגנון התכנות הזה תואם את כל שפות התכנות, למרות שהוא עשוי להיות שונה באופן היישום.
באופן כללי, ביישום מונע אירועים יש לולאה ראשית ש"מאזינה "לאירועים נכנסים חדשים, ומפעילה שיחת פונקציה כאשר הם מתגלים. לכן פעולתו מתמקדת באירועים, מחליטה מה לבצע ובאיזה סדר.
תכונות של תכנות מונחה אירועים
מקור: pixabay.com
תלות באירועים
הזרימה של התוכנית ניתנת על ידי אירועים שיכולים להיות פעולות משתמש, הודעות מתוכנות אחרות וכו ', המפרידות בין ההיגיון של עיבוד אירועים לשאר הקוד של התוכנית, ובכך מנוגדת לעיבוד האצווה.
האירועים עצמם יכולים לנוע בין קבלת או דחיית בקשת הלוואה, המכונה אירוע ברמה גבוהה, למשתמש הקשה על מקש, שהוא אירוע ברמה נמוכה.
מכוון שירות
הוא משמש לכתיבת תוכניות המיועדות לשירות מבלי להאט את המחשב, מכיוון שכיוון השירות רק צורך מעט כוח עיבוד. כמו כן, השירותים לרוב פועלים ברקע של מערכת ההפעלה.
אירועים
זהו מצב שמתעורר במהלך ביצוע התוכנית ומחייב פעולה מסוימת מצד המערכת. כל אירוע שונה מאופיו, חלקם דורשים מהתוכנית לאחזר ולהציג מידע מסוים, ואחרים דורשים ביצוע חישובים ושינויי מצב.
האירועים כוללים את העכבר, המקלדת, ממשק משתמש ופעולות שצריכות להפעיל בתוכנית כאשר הן מתרחשות. משמעות הדבר היא שעל המשתמש לקיים אינטראקציה עם אובייקט בתוכנה, כמו לחיצה על כפתור עכבר, שימוש במקלדת לבחירת כפתור וכו '.
בקר
זוהי יחידה מסוימת של התוכנית שמופעלת להגיב לאירוע. כלומר, מדובר בסוג של פונקציה או שיטה המבצעת פעולה ספציפית כאשר מופעל אירוע מסוים.
לדוגמה, זה יכול להיות כפתור שכאשר המשתמש לוחץ עליו הוא מציג הודעה וכשהוא לוחץ על הכפתור שוב סוגר את ההודעה.
פונקציות הדק
אלה פונקציות שמחליטים איזה קוד לבצע כאשר מתרחש אירוע ספציפי. הם משמשים כדי לבחור באיזה מטפל אירועים להשתמש כאשר מתרחש אירוע.
זמן מבוקר
זהו קוד ספציפי שרץ בזמן מסוים. פירוש הדבר שמדובר במשימה מוגדרת מראש.
עדכון חלונות הוא דוגמה לזמן מבוקר, בו המשתמש יכול להגדיר מתי לעדכן או מתי לבדוק ולהוריד את העדכון.
דוגמאות לתכנות מונע אירועים
תוכניות מונחות אירועים הפכו נפוצות מאוד. בין הדוגמאות הבולטות ניתן למצוא עיבוד תמלילים, כלי רישום, גיליונות אלקטרוניים וכו '.
מרבית מערכות ההודעות המודרניות עוקבות גם הן אחר הדפוס מונע האירועים, בעוד אתרים באתרים רחבי היקף משתמשים בארכיטקטורות הניתנות להרחבה ומונעות אירועים בעלי אופי מבוזר. דוגמאות נוספות הן:
- לחצו על מקש (עורך טקסט).
- לוח משימות חדש מוכן להפצה לכל הצוות (מערכת ניהול).
- התקבלה הודעת HTML (שרת אינטרנט).
- התגלה דפוס סחר בלתי חוקי (גילוי הונאה).
- מכונית במשחק מחשב מתנגשת עם מכונית אחרת (משחק מירוצים).
- רובוט הגיע ליעדו (ניהול מחסן בזמן אמת).
אישור עבודה
דוגמה מעשית לאירוע המשמש בתכנות מונחה אירועים יכול להיות עובד המבקש היתר עבודה במערכת. כאשר עובד זה מגיש את בקשתו, הוא יפעיל הודעה שתישלח לאישור המנהל.
המנהל יכול היה להציג את פרטי הבקשה, לאשר או לדחות אותה, ולעדכן אותם במערכת ללא צורך לפתוח פעילויות נוספות.
התחלת פעולות
הפעולות של תוכנית העוקבת אחר היסודות של תכנות מונחה אירועים יוזמות על ידי אירועים:
- החומרה.
- מתוזמן.
- של זמן ביצוע.
- ממערכת ההפעלה.
- מופעל על ידי הוראות משתמש שניתנות באמצעות אינטראקציה עם GUI של התוכנית.
במצב הפשוט ביותר שלה, מתכנתים צריכים לענות על השאלה: "מה צריך לקרות כאשר אירוע מסוים מתרחש?"
שגרת הקוד הבזויה מציגה כיצד מתזמן פשוט מאוד עשוי לעבוד. זה מורכב מלולאה ראשית הפועלת ברציפות עד שמתרחש איזשהו מצב סיום.
כאשר מתרחש אירוע, על המתזמן לקבוע את סוג האירוע ולבחור מטפל אירועים מתאים, או לטפל באירוע אם מטפל אירועים מתאים אינו קיים.
יתרון
עיבוד מהיר יותר
עקב התפשטות נתונים בין מעבדים מרובים למטפלים באירועים.
אינטראקטיביות
זהו היתרון החשוב ביותר של תכנות מונחה אירועים, ומשפר את חווית המשתמש. המשתמשים של היום רוצים להשתתף באופן פעיל ולא להישאר צרכנים פסיביים.
לכן תוכניות מבוססות אירועים עוזרות למשתמשים לנווט את החוויה שלהם ולחקור מגוון אפשרויות, ללא הגבלות מוגדרות מראש.
פחות קידוד החלטות
גישה זו לתכנות מביאה יתרונות רבים לכל בעלי העניין, מכיוון שפחות החלטות נדרשות לתקן מאשר יישומים מסורתיים.
אירועים רבים נקבעים על ידי פעולות משתמש, ולא באמצעות קידוד מתקדם לכל התרחישים האפשריים. בעוד יישומים מסורתיים פועלים, יישומים מונעי אירועים מגיבים.
גְמִישׁוּת
זה מתאים באופן מושלם למגמות הנדסיות תוכנה אחרונות כמו מחשוב ענן, שירותי מיקרו, והצורך במדרגיות טובה יותר עם מערכות גמישות ומופצות.
כרטיסים תקפים
מבטל את האפשרות לערכים עם ערכים לא חוקיים. אפליקציה מסורתית שואלת שאלה ומאפשרת למשתמש להקליד תשובה. אפליקציות מונעות אירועים בדרך כלל מציעות מערכת אפשרויות, ככפתורים או כתפריטים נפתחים.
תחזוקה קלה
הצורך בתיקון והתאמת הקוד הקיים בעת הוספה או הסרה של מודולים מבוטל. המערכת ממשיכה לפעול בצורה חלקה ללא קשר להתאמה כזו.
לכן תכנות זו מתאימה ליישומים עם זרימת בקרה המבוססת על מערכת אירועים פנימיים וחיצוניים, ולא על בסיס מבנה.
חסרונות
זרימת בקרה מורכבת
גישה זו לתכנות אינה האפשרות הטובה ביותר עבור יישומים קטנים ופשוטים, מכיוון שהמאמצים שצריך לעשות אינם מתבררים כלא הגיוניים.
פיתוח אפליקציה מונחה אירועים מגדילה את המורכבות של עיצוב ומשלוח מערכות. הסיבה לכך היא שארכיטקטורות תוכנה מסורתיות מבוססות על אינטראקציות מבוססות בקשות, ולא על אינטראקציות מונעות אירועים.
יתר על כן, נדרשת הכנה רבה גם בשל הצורך בלולאות אירועים דינמיות ללא הרף.
זה לא מחליף תכנות מובנית
יש לציין שתכנות מונחות אירועים אינן מחליפות תכנות מובנית מסורתית, אלא רק משלימות אותה.
מתודולוגיות תכנות מסורתיות נותרות חיוניות לכתיבת התוכנית הכוללת, בעוד שאלמנטים קידוד מונעי אירועים משמשים רק לעיצוב ה- GUI.
גְמִישׁוּת
הגמישות של תזמון מונחה אירועים, שהוא היתרון הבלתי מעורער שלה, הופכת גם להונאה בתרחישים מסוימים. אחד מאותם ביטויים הוא חוסר יכולת החיזוי של תוכנית מכוונת אירועים למקרה שיש לה שינויים ושליטה חלשה יותר על המערכת הכוללת.
למרות שמקודדים רוצים להשתמש בתכנות מונע אירועים על מנת לבצע התאמות ללא חיכוך, כגון הסרה או הוספה של כמה מודולים פונקציונליים, התאמות אלה עלולות להוביל לשינויים בלתי צפויים בפונקציונליות.
בתכנות קונבנציונאלי, המערכת מגלה מהר מאוד את החריגות התפעוליות הללו ומספקת דיווח למתכנת על הגורמים להם. בסביבת תכנות מונעת אירועים, איתור תקלות כאלה פחות מהיר וקל.
יישומים
מכיוון שתכנות מונחה אירועים מתגלה כגישה יותר מאשר סוג של שפה, ניתן ליצור יישומים מבוססי אירועים בכל שפת תכנות.
תכנות מונחה אירועים הופכת את עולם שירותי פיתוח התוכנה והופכת לחלק בלתי נפרד מהפיתוח של ימינו. ההפצה שלו גירתה על ידי חלונות וההפצה של סביבות חזותיות.
מקרה של מצב מונע אירועים היה דומה למעצר המתעורר שנקבע כדי לבצע משימה מסוימת בזמן מסוים, כמו צלצול ותקשורת של משהו שאומר "תתעורר!"
ממשק משתמש גרפי
גישת תזמון זו היא ממוקדת אירועים. אזורי היישום הנפוצים ביותר כוללים יצירת ממשק המשתמש הגרפי (GUI), יישומי שרת ופיתוח משחקי מרובי משתתפים.
בעוד שתוכניות קונבנציונאליות מבססות את זרימת האירועים ובעלות שליטה על אפשרויות המשתמש, תכנות חדשניות יותר זו שימשה ליצירת ה- GUI.
ממשק ה- GUI שינה את האינטראקציה בין מחשבים אנושיים בכך שהציע למשתמשים אפשרויות מרובות בצורה של תפריטים נפתחים, חלונות, לחצנים ותיבות סימון.
לכן, במקום לבצע את סדר פעולות ברירת המחדל שהוגדר על ידי המחשב, המשתמשים יכולים לבחור באחת מהפקודות הזמינות הרבות בעצמם.
בנוסף לכך שתכנות זו מיושמת באופן נרחב בממשקי משתמש גרפיים, היא מיושמת גם ביישומים המבצעים פעולות מסוימות בתגובה לקלט המשתמשים, כמו למשל יישומי אינטרנט של JavaScript.
הפניות
- Raspal Chima (2018). יישומים מונעי אירועים בפיתוח תוכנה. יועצי אוכמניות. נלקח מ: bbconsult.co.uk.
- הקורום (2020). בניית אפליקציות - שיעור 1: מבוא לתכנות מונע אירועים. נלקח מ: quorumlanguage.com.
- מרגרט רוז (2012). אפליקציה מונעת אירועים. טכטרג'ט. נלקח מ: searchitoperations.techtarget.com.
- מסות בבריטניה (2018). תכונות מונע אירועים. נלקח מ: ukessays.com.
- Souvik Banerjee (2019). תכנות מונע אירועים: מדוע זה מגמה עכשיו? RS Websols. נלקח מ: rswebsols.com.
- Techopedia (2018). תכנית מונעת אירועים. לקוח מ: ceilingpedia.com.
- טכנולוגיה בריטניה (2020). תכנות מונחה אירועים. לקוח מ: technologyuk.net.