回调函数、模板和Ioc

来源:互联网 发布:开淘宝店进什么货 编辑:程序博客网 时间:2024/05/02 16:22

 

回调函数、模板方法和控制反转(IoC)

   在早期win32 GUI编程中(如MFC),应用程序会传递一个消息处理函数指针给底层框架,底层框架

在执行消息循环的时候,调用上层程序传递的消息处理函数,这样GUI框架已经不再依赖应用程序了,这种动态调用机制就是回调函数。

 

  在MFC开发中,回调函数是一个比较重要的概念(对于理解MFC的相关机制很重要)。

  在C语言嵌入式开发中,回调函数机制也是比较重要的,在转载的一篇关于“C语言回调函数学习”中会详细介绍其使用。

 

  模板方法模式就是面向对象领域中的回调函数,通过模板方法,可以使得程序的主控流程都在底层框架,而程序只需要继承实现框架的

一些类就可以打造一个完整的程序了。典型的例子还有java XML SAX API。这种情况下程序的主控权从主程序移到了框架,这就实现了所谓的控制反转(IoC),所有的框架都会实现IoC,这是框架的基础。

 

注:控制反转(inversion of control):把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件

的装配与管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。

 

依赖倒置可以减弱应用程序到框架的依赖,而控制反转可以减弱框架到程序的依赖。

 

注:框架是半成品的应用程序,而类库是一系列可由应用程序调用的类

 

 

原创粉丝点击