لغة برمجة مقادة بالاحداث
أنماط البرمجة |
---|
|
برمجة مقادة بالاحداث Event-driven programming
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
مقدمة
لغة البرمجة المقادة بالاحداث هي نمط من انماط البرمجة programming paradigm بحيث يتحدد سير عمل البرنامج بواسطة حدث معين (ضغط ازرار الكيبورد , الفأرة ), رسالة من برنامج آخر ... الخ
ان لغات البرمجة المقادة بالاحدث يمكن ان تعرف بانها تقنية لمعمارية التطبيقات بحيث يكون التطبيق ينفذ حلقة رئيسية بحيث تنقسم الى قسمين
القسم الاول يدعى مختار الاحداث event selection او كاشف الاحداث event detection والقسم الثاني هو معالج الاحداث event handling . يمكن تحقيق كل ذلك عن طريق المقاطعات عوضاً عن تنفيذ حلقة رئيسية وتحقيق ذلك يتضمن العمل في العتاد hardware وليس البرمجيات software كما في حالة الحلقة الرئيسية .
يمكن كتابة برامج مقادة بالاحداث بأي لغة برمجة , ولكن العمل سيكون اسهل في حال كانت تقدم اللغة تجريداً عالي المستوى .بعض بيئات التطوير البرمجة تقدم ما يسمى مولد الكود الذي يساعد في اتمتة معظم المهام التكرارية التي تتطلب معالجة الاحداث .
إن اكثر مجال يتم استخدام مفهوم الإنقياد للاحداث هو واجهة المستخدم التفاعلية GUI graphical user interface
انظر أيضاً
- Time-triggered system (an alternative architecture for computer systems)
- Interrupt
- Comparison of programming paradigms
- Dataflow programming (a similar concept)
- DOM events
- Event-driven architecture
- Event stream processing (a similar concept)
- Hardware description language
- Inversion of control
- Message-oriented middleware
- Programming paradigm
- Publish–subscribe pattern
- Signal programming (a similar concept)
- Staged event-driven architecture (SEDA)
- Virtual synchrony, a distributed execution model for event-driven programming
الهامش
وصلات خارجية
- Concurrency patterns presentation given at scaleconf
- Event-Driven Programming: Introduction, Tutorial, History, tutorial by Stephen Ferg
- Event Driven Programming, tutorial by Alan Gauld
- Event Collaboration, article by Martin Fowler
- Rethinking Swing Threading, article by Jonathan Simon
- The event driven programming style, article by Chris McDonald
- Event Driven Programming using Template Specialization, article by Christopher Diggins
- Concepts and Architecture of Vista - a Multiparadigm Programming Environment, article by Stefan Schiffer and Joachim Hans Fröhlich[dead link]
- Event-Driven Programming and Agents, chapter
- LabWindows/CVI Resources
- Distributed Publish/Subscribe Event System, an open source example which is in production on MSN.com and Microsoft.com