http://en.wikipedia.org/wiki/Event-driven_programming
http://www.cnblogs.com/alex-tech/archive/2011/10/27/2227058.html#_Toc127197014
http://en.wikipedia.org/wiki/Event-driven_architecture
事件驱动编程:程序的流程由事件(event)决定,这些事件包括:传感设备输出、用户动作(鼠标、键盘)、来自其他程序或线程的消息等。
事件驱动编程可以作为一种技术用于设计应用程序的架构。这时,应用程序就会有一个main loop,main loop由两部分组成:事件选择(或检测、监听,event selection/detection)和事件处理(event handler)。
在嵌入式系统中,用中断(interrupt)来代替main loop,此时的事件选择由硬件完成。
做上层应用的程序员主要工作是事件处理(handler)部分。事件的选择和main loop由程序框架来完成。
事件驱动编程实现步骤:
1.实现用于event handler的函数或方法,比如鼠标按下时将要执行的动作;
2.将handler函数与事件event绑定(handler函数的注册过程),这样当事件(如按下鼠标)发生时,就能触发handler,达到目的。
3.实现main loop。main loop函数的作用是检测事件的发生,并将事件与handler进行匹配,匹配成功将执行handler。大多数情况下事件驱动编程环境默认提供main loop,所以不需要我们自己编写。
Event-driven programming
最新推荐文章于 2024-05-07 10:06:20 发布