Event-driven programming

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,所以不需要我们自己编写。

你可能感兴趣的:(编程,框架,工作,嵌入式)