10.8 模板方法模式

应用程序结构框架允许从一个或一组类中继承以便创建一个新的应用程序,重用现存类中几乎所有的代码,并且覆盖其中一个或多个函数以便自定义所需要的应用程序。应用程序结构框架中的一个基本的概念是模板方法(Template Method)模式,它很典型地隐藏在覆盖的下方,通过调用基类的不同函数(这里覆盖了其中一些函数以创建应用程序)来驱动程序运行。

模板方法模式的一个重要特征是它的定义在基类中(有时作为一个私有成员函数)并且不能改动—模板方法模式就是“坚持相同的代码”。它调用其他基类函数(就是那些被覆盖的函数)以便完成其工作,但是客户程序员不必直接调用这些函数,如下所示:

10.8 模板方法模式 - 图1

驱动应用程序运行的“引擎”是模板方法模式。在GUI(图形用户界面)应用程序中,这个“引擎”就是主要的事件环。客户程序员只需提供customize1()和customize2()的定义,便可以令“应用程序”运行。