`

[#0x0046] callback释义

阅读更多

  最近接触到了HibernateTemplate,用到了HibernateCallback,决定把callback的逻辑关系彻底搞清楚,以前总是不明白这个call到底是谁call的谁,这个back到底是从哪里back到哪里。

 

  要搞清楚英文原文的逻辑,还是wikipedia好使,反正我关键字“回调函数”搜了半天也没搞清楚……

 

  In computer programming, a callback is a reference to executable code, or 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.

 

  

  从这个解释和图来看,callback function的指针会传递给library function,然后library function calls callback function, from library level back to appliaction level。callback function实质是回调的函数。

 

  callback在MFC中体现得很明显。我们设计的dialog、button什么的都是Main program,写的onButtonOK()、onWindowClose()这类的事件处理函数就是Callback function,它们都是我们开发的Application program;MFC底层运行机制就是Library function,是属于Software library的。

 

  这个层次关系在HibernateTemplate中并不是很明显,因为HibernateCallback也是library的一部分,相当于是给了application一个默认实现。

  • 大小: 23.9 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics