תכנות מונחה אירועים (Event Driven)
בתוכניות מסוג Console Application הקוד מתבצע Top Down.
בתוכניות Console Application התוכנית היא זו שיוזמת את הפנייה למערכת ההפעלה'
האוריינטציה הגראפית של אפליקציות מכתיבה את הצורך במודל שונה.
מודל בו מערכת ההפעלה היא זו שיוזמת את האינטראקציה עם התוכנית.

מאת: ארז קלר
תכנות מונחה אירועים (Event Driven)
מודל Top-Down
בתוכניות מסוג Console Application הקוד מתבצע Top Down.
בתוכניות Console Application התוכנית היא זו שיוזמת את הפנייה למערכת ההפעלה'
בעיקר באמצעות פקודות קלט/פלט.
המערכת הגראפית של אפליקציות מכתיבות מודל שונה.
מודל מונחה אירועים
האוריינטציה הגראפית של אפליקציות מכתיבה את הצורך במודל שונה.
מודל בו מערכת ההפעלה היא זו שיוזמת את האינטראקציה עם התוכנית.
האינטראקציה מתבצעת באמצעות שליחת הודעות (Messages) לתוכנית.
הודעות נוצרות כתוצאה מפעילות משתמש (עכבר, מקלדת, סגירת חלון ....)
או מיוזמה של מערכת ההפעלה (טעינת חלון, הצגת חלון, שינוי פוקוס של פקד, שינויים בסטטוס של האפליקציה ....)
תכנות מונחה אירועים
כאשר מריצים אפליקציה מתבצעות מספר פעולות אתחול (Initialize) שתפקידן להגדיר, לטעון לזיכרון, ולהציג את החלון הראשי.
עם סיומן האפליקציה נכנסת למצב המתנה שנקרא Idle.
במצב זה האפליקציה אינה עושה דבר עד אשר מתקבל אירוע (Event).
האירוע מעורר את האפליקציה אשר מטפלת בו (או לחילופין מתעלמת ממנו) וחוזרת חזרה למצב Idle.
תהליך זה חוזר על עצמו עד לסגירת האפליקציה.
אירועים (Events) – פעילויות המתרחשות ביוזמת המשתמש או מערכת ההפעלה.
תור ההודעות (Message Queue) – מערכת ההפעלה יוצרת לכל אפליקציה מבנה נתונים תור אשר מקבל את כל האירועים המיועדים לתוכנית.
לולאת ההודעות (Message Loop) -
לולאה אשר ותפקידה למשוך את ההודעות מתור ההודעות ולהעבירן לטיפול האפליקציה, לולאה זו רצה ברקע ומתקיימת לאורך כל ריצת האפליקציה.
מצב ההמתנה (Idle) נוצר כאשר תור ההודעות ריק והאפליקציה ממתינה עד אשר תתקבל הודעה חדשה.
המודל של אפליקציות UWP הוא תכנות מונחה אירועים (Event Driven).
לכל פקד יש סדרה ארוכה של אירועים שניתן להגיב אליהם (או להתעלם מהם).
בין אירוע לאירוע האפליקציה נמצאת במצב המתנה (Idle).
את האירועים ואת המודל של הטיפול בהם נכיר בפרקים הבאים.