- ميزات البرمجة الموجهة نحو الحدث
- تبعية الحدث
- موجه الخدمة
- الأحداث
- مراقب
- وظائف الزناد
- التحكم بالوقت
- أمثلة على البرمجة المدفوعة بالحدث
- تصريح العمل
- الشروع في الإجراءات
- مميزات
- معالجة أسرع
- التفاعل
- ترميز أقل للقرارات
- المرونة
- تذاكر صالحة
- سهولة الصيانة
- سلبيات
- تدفق التحكم المعقد
- لا يحل محل البرمجة المنظمة
- المرونة
- التطبيقات
- واجهة المستخدم الرسومية
- المراجع
في الحدث - البرمجة مدفوعة يشير إلى نموذج برمجة الكمبيوتر، حيث يتم استخدام الأحداث التي تحدث لتحديد تدفق السيطرة على البرنامج.
إنه ليس نوعًا من التكنولوجيا أو لغة البرمجة ، ولكنه نهج يتم تنفيذه أثناء مرحلة تطوير المنتج. في الأساس ، يفصل منطق معالجة الحدث عن بقية الكود في البرنامج.

تم تصميم هذا النوع من البرمجة لاكتشاف الأحداث فور حدوثها ، باستخدام إجراء مناسب للتعامل مع الأحداث للتعامل معها ، عادةً عن طريق استدعاء دالة أو طريقة.
من الناحية النظرية ، يتوافق أسلوب هذه البرمجة مع جميع لغات البرمجة ، على الرغم من اختلاف طريقة تنفيذها.
بشكل عام ، في التطبيق المدفوع بالأحداث ، هناك حلقة رئيسية "تستمع" للأحداث الواردة الجديدة ، مما يؤدي إلى استدعاء وظيفة عند اكتشافها. لذلك ، تركز عملياتها على الأحداث ، وتحديد ما يجب تنفيذه وبأي ترتيب.
ميزات البرمجة الموجهة نحو الحدث

المصدر: pixabay.com
تبعية الحدث
يتم إعطاء تدفق البرنامج من خلال الأحداث التي يمكن أن تكون إجراءات المستخدم ، والرسائل من البرامج الأخرى ، وما إلى ذلك ، مما يفصل منطق معالجة الأحداث عن بقية كود البرنامج ، وبالتالي يتناقض مع المعالجة الدفعية.
يمكن أن تتراوح الأحداث نفسها من قبول أو رفض طلب قرض ، يسمى حدث عالي المستوى ، إلى قيام المستخدم بالضغط على مفتاح ، وهو حدث منخفض المستوى.
موجه الخدمة
يتم استخدامه لكتابة البرامج المصممة للخدمة دون إبطاء الكمبيوتر ، نظرًا لأن توجيه الخدمة يستهلك طاقة معالجة قليلة فقط. أيضًا ، تعمل الخدمات بشكل عام في خلفية نظام التشغيل.
الأحداث
إنه شرط ينشأ أثناء تنفيذ البرنامج ويتطلب بعض الإجراءات من جانب النظام. يختلف كل حدث في طبيعته ، فبعضها يتطلب من البرنامج استرداد معلومات معينة وعرضها ، بينما يتطلب البعض الآخر إجراء بعض العمليات الحسابية وتغييرات الحالة.
تتضمن الأحداث الماوس ولوحة المفاتيح وواجهة المستخدم والإجراءات التي يجب تشغيلها في البرنامج عند حدوثها. هذا يعني أنه يجب على المستخدم التفاعل مع كائن في البرنامج ، مثل النقر فوق زر الماوس ، واستخدام لوحة المفاتيح لتحديد زر ، وما إلى ذلك.
مراقب
إنها وحدة معينة من البرنامج يتم تنشيطها للرد على حدث ما. أي أنها نوع من الوظائف أو الطريقة التي تنفذ إجراءً محددًا عند تشغيل حدث معين.
على سبيل المثال ، يمكن أن يكون زرًا يعرض رسالة عندما ينقر المستخدم عليه وعندما ينقر على هذا الزر مرة أخرى يغلق الرسالة.
وظائف الزناد
إنها وظائف تحدد الكود المطلوب تنفيذه عند حدوث حدث معين. يتم استخدامها لتحديد معالج الحدث الذي سيتم استخدامه عند وقوع الحدث.
التحكم بالوقت
إنه رمز محدد يعمل في وقت معين. هذا يعني أنها مهمة محددة مسبقًا يجب القيام بها.
تحديث Windows هو مثال على الوقت المتحكم فيه ، حيث يمكن للمستخدم ضبط وقت التحديث أو وقت التحقق من التحديث وتنزيله.
أمثلة على البرمجة المدفوعة بالحدث
أصبحت البرامج الموجهة نحو الأحداث شائعة جدًا. من بين أبرز الأمثلة معالجة الكلمات وأدوات الرسم وجداول البيانات وما إلى ذلك.
تتبع معظم أنظمة المراسلة الحديثة أيضًا النمط الذي يحركه الحدث ، بينما تستخدم مواقع الويب واسعة النطاق بنى قابلة للتطوير وقائمة على الأحداث ذات طبيعة موزعة. أمثلة أخرى هي:
- تم الضغط على مفتاح (محرر نصوص).
- تقويم مهام جديد جاهز للتوزيع على جميع الموظفين (نظام الإدارة).
- تم استلام رسالة HTML (خادم الويب).
- تم الكشف عن نمط تجارة غير مشروعة (كشف الغش).
- اصطدام سيارة في لعبة كمبيوتر بسيارة أخرى (لعبة سباق).
- وصل الروبوت إلى وجهته (إدارة المستودعات في الوقت الفعلي).
تصريح العمل
يمكن أن يكون أحد الأمثلة العملية لحدث مستخدم في البرمجة المدفوعة بالحدث موظفًا يتقدم بطلب للحصول على تصريح عمل على نظام. عندما يصدر هذا الموظف طلبه ، سيقوم بتفعيل إشعار يتم إرساله إلى المدير للموافقة عليه.
يمكن للمدير الاطلاع على تفاصيل الطلب والموافقة عليه أو رفضه وتحديثه في النظام دون الحاجة إلى بدء جلسات إضافية.
الشروع في الإجراءات
تبدأ إجراءات البرنامج الذي يتبع أساسيات البرمجة الموجهة للأحداث من خلال الأحداث:
- الأجهزة.
- المقرر.
- وقت التنفيذ.
- من نظام التشغيل.
- يتم تفعيله من خلال تعليمات المستخدم المقدمة من خلال التفاعل مع واجهة المستخدم الرسومية للبرنامج.
في أبسط أوضاعها ، يتعين على المبرمجين الإجابة على السؤال التالي: "ماذا يجب أن يحدث عند وقوع حدث معين؟"
يوضح روتين الكود الزائف التالي كيف يمكن أن يعمل برنامج جدولة بسيط للغاية. يتكون من حلقة رئيسية تعمل بشكل مستمر حتى تحدث بعض شروط الإنهاء.
عند وقوع حدث ما ، يجب على المجدول تحديد نوع الحدث وتحديد معالج الحدث المناسب ، أو معالجة الحدث في حالة عدم وجود معالج الحدث المناسب.

مميزات
معالجة أسرع
بسبب انتشار البيانات بين معالجات متعددة ومعالجات الأحداث.
التفاعل
هذه هي الميزة الأكثر أهمية للبرمجة الموجهة نحو الأحداث ، وتحسين تجربة المستخدم. يرغب مستخدمو اليوم في المشاركة بنشاط وألا يظلوا مستهلكين سلبيين.
لذلك ، تساعد البرامج المستندة إلى الأحداث المستخدمين على التنقل في تجربتهم الخاصة واستكشاف مجموعة متنوعة من الخيارات ، دون قيود محددة مسبقًا.
ترميز أقل للقرارات
هذا النهج في البرمجة له فوائد عديدة لجميع أصحاب المصلحة ، حيث أن قرارات الترميز المطلوبة أقل من التطبيقات التقليدية.
يتم تحديد العديد من الأحداث من خلال إجراءات المستخدم ، بدلاً من وجود ترميز متقدم لجميع السيناريوهات الممكنة. بينما تعمل التطبيقات التقليدية ، تتفاعل التطبيقات التي تحركها الأحداث.
المرونة
يتناسب تمامًا مع الاتجاهات الحديثة في هندسة البرمجيات مثل الحوسبة السحابية والخدمات المصغرة والحاجة إلى قابلية تطوير أفضل مع أنظمة مرنة وموزعة.
تذاكر صالحة
يلغي إمكانية الإدخالات بقيم غير صالحة. يطرح التطبيق التقليدي سؤالاً ويسمح للمستخدم بكتابة إجابة. تقدم التطبيقات التي تعتمد على الأحداث عادةً مجموعة من الخيارات ، إما كأزرار أو كقوائم منسدلة.
سهولة الصيانة
يتم التخلص من الحاجة إلى تصحيح التعليمات البرمجية الموجودة وضبطها عند إضافة أو إزالة الوحدات النمطية. يستمر النظام في العمل بسلاسة بغض النظر عن أي تعديل من هذا القبيل.
لذلك ، تعد هذه البرمجة مناسبة للتطبيقات ذات تدفقات التحكم بناءً على مجموعة من الأحداث الداخلية والخارجية ، بدلاً من استنادًا إلى بنية.
سلبيات
تدفق التحكم المعقد
هذا النهج في البرمجة ليس الخيار الأفضل للتطبيقات الصغيرة والبسيطة ، لأن الجهود التي يجب بذلها لا تكون معقولة.
يزيد تطوير تطبيق يعتمد على الأحداث من تعقيد تصميم النظام وتسليمه. وذلك لأن هياكل البرامج التقليدية تعتمد على التفاعلات القائمة على الطلب ، بدلاً من التفاعلات التي تحركها الأحداث.
علاوة على ذلك ، هناك حاجة أيضًا إلى قدر كبير من التحضير بسبب الحاجة إلى حلقات الأحداث الديناميكية المستمرة.
لا يحل محل البرمجة المنظمة
وتجدر الإشارة إلى أن البرمجة الموجهة نحو الحدث لا تحل محل البرمجة التقليدية المهيكلة ، ولكنها تكملها فقط.
تظل منهجيات البرمجة التقليدية ضرورية لكتابة البرنامج ككل ، بينما تعمل عناصر الترميز التي تعتمد على الأحداث فقط على المساعدة في تصميم واجهة المستخدم الرسومية.
المرونة
مرونة الجدولة الموجهة نحو الأحداث ، وهي ميزتها التي لا جدال فيها ، تتحول أيضًا إلى احتيال في سيناريوهات معينة. أحد هذه المظاهر هو عدم القدرة على التنبؤ ببرنامج موجه نحو الحدث في حالة حدوث تغييرات فيه وضعف التحكم في النظام ككل.
على الرغم من أن المبرمجين يحبون استخدام البرمجة التي تحركها الأحداث من أجل إجراء تعديلات غير احتكاكية ، مثل إزالة أو إضافة بعض الوحدات الوظيفية ، فإن هذه التعديلات يمكن أن تؤدي إلى تغييرات غير متوقعة في الوظائف.
في البرمجة التقليدية ، يكتشف النظام بسرعة هذه الحالات الشاذة التشغيلية ، ويقدم تقريرًا إلى المبرمج حول أسبابها. في بيئة البرمجة المدفوعة بالأحداث ، يكون اكتشاف مثل هذه الأعطال أقل سرعة وسهولة.
التطبيقات
نظرًا لأن البرمجة المبنية على الأحداث تبين أنها نهج أكثر من كونها نوعًا من اللغة ، يمكن إنشاء التطبيقات المستندة إلى الحدث في أي لغة برمجة.
تعمل البرمجة القائمة على الأحداث على تغيير عالم خدمات تطوير البرمجيات وأصبحت جزءًا لا يتجزأ من تطور اليوم. تم تحفيز انتشاره بواسطة Windows وانتشار البيئات المرئية.
قد تشبه حالة الموقف الذي يحركه الحدث جهاز ضبط وقت الاستيقاظ للقيام بمهمة محددة في وقت معين ، مثل الرنين والتواصل مع شيء يقول ، "استيقظ!"
واجهة المستخدم الرسومية
نهج الجدولة هذا يتمحور حول الحدث. تشمل مجالات التطبيق الأكثر شيوعًا إنشاء واجهة مستخدم رسومية (GUI) وتطبيقات الخادم وتطوير ألعاب متعددة اللاعبين.
بينما تحدد البرامج التقليدية تدفق الأحداث وتتحكم في خيارات المستخدم ، فإن هذه البرمجة الأكثر ابتكارًا عملت على إنشاء واجهة المستخدم الرسومية.
غيرت واجهة المستخدم الرسومية التفاعل بين الإنسان والحاسوب من خلال تقديم خيارات متعددة للمستخدمين في شكل قوائم منسدلة ونوافذ وأزرار ومربعات اختيار.
لذلك ، بدلاً من اتباع الترتيب المحدد مسبقًا للإجراءات التي حددها الكمبيوتر ، يمكن للمستخدمين اختيار أحد الأوامر العديدة المتاحة بأنفسهم.
بالإضافة إلى هذه البرمجة التي يتم تطبيقها على نطاق واسع في واجهات المستخدم الرسومية ، يتم تطبيقها أيضًا على نطاق واسع في التطبيقات التي تؤدي إجراءات معينة استجابةً لإدخال المستخدم ، مثل تطبيقات الويب JavaScript.
المراجع
- راسبال شيما (2018). تطبيقات يحركها الحدث في تطوير البرمجيات. الاستشاريين عنبية. مأخوذة من: bbconsult.co.uk.
- النصاب (2020). بناء التطبيقات - الدرس 1: مقدمة في البرمجة المبنية على الأحداث. مأخوذة من: quorumlanguage.com.
- مارجريت روس (2012). تطبيق يحركها الحدث. تك تارجيت. مأخوذة من: searchitoperations.techtarget.com.
- مقالات المملكة المتحدة (2018). ميزات البرمجة المدفوعة بالحدث. مأخوذة من: ukessays.com.
- سوفيك بانيرجي (2019). البرمجة المدفوعة بالأحداث: لماذا هي رائجة الآن؟ RS Websols. مأخوذة من: rswebsols.com.
- تيكوبيديا (2018). برنامج يحركه الحدث. مأخوذة من: ceilingpedia.com.
- التكنولوجيا في المملكة المتحدة (2020). البرمجة المدفوعة بالحدث. مأخوذة من: technologyuk.net.
