8.4.3.1 模板方法模式
一般来说,模板方法模式能够定义算法或类的骨架,在以后填充缺失的部分,在具体的继承类中实现。基类定义的操作后来被填充,用来实现更复杂的操作。图 8.4 以图表形式显示了这一点。
图 8.4 基类包含抽象方法 PrimitiveOperation,用于实现 TemplateMethod。缺失部分由继承的类 ConcreteClass 填充。
模板方法中的抽象类对应于查询的表示(类 QueryDecision)。需要由派生类提供的基本操作是检查方法,它有一个参数 Client,返回布尔值。模板方法是我们的 Evaluate 方法,包含的代码输出结果到控制台,并递归处理所选择的分支。我们仍然必须为每个特定的查询,实现新的具体类,这会使代码变得很长。因此,使用函数,可以简化模式,并去掉这个必须。
原文地址:http://blog.csdn.net/hadstj/article/details/41773985