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

   在早期win32 GUI编程中,应用程序会传递一个消息处理函数指针给底层框架,底层框架在执行消息循环的时候,调用上层程序传递的消息处理函数,这样GUI框架已经不再依赖应用程序了,这种动态调用机制就是回调函数。

模板方法模式就是面向对象领域中的回调函数,通过模板方法,可以使得程序的主控流程都在底层框架,而程序只需要继承实现框架的一些类就可以打造一个完整的程序了。典型的例子还有java XML SAX API。这种情况下程序的主控权从主程序移到了框架,这就实现了所谓的控制反转(IoC),所有的框架都会实现IoC,这是框架的基础。

 

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

 

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

你可能感兴趣的:(设计模式/架构模式/代码模式)