回调函数callback function
Definition: In computer programming, a callback is a reference to a piece of executable code, that is passed as an argument to other code. This allows a lower-level software layer to call a subroutine (or function) defined in a higher-level layer.(from wiki)
回调函数也是控制反转(Inversion Of Control)的一种形式。
在C、C++、PASCAL中,可以传递函数指针做为函数的一个实参,来实现底层的API调用高层的函数。
在函数式编程语言中(如LISP,JAVASCRIPT),函数名仅是一个引用,可以直接做为函数的实参。
在纯面向对象语言如JAVA中,实现回调函数模式一般是通过传递给底层的API一个抽象类或接口的一个实例,底层API调用实例的一个或多个方法来实现。广泛使用在像Commond,Visitor, Observer和 Strategy等设计模式中。
事件驱动模型(Event-Driven Programming)中的事件处理函数(Event Handler)就是一个回调函数的例子。