设计模式系列--Template
一.类图
二.意图
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Te m p l a t e M e t h o d 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
三.适用性
a) 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。
b) 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。
c) 控制子类扩展。模板方法只在特定点调用“h o o k ”操作,这样就只允许在这些点进行扩展。
四.实例
模板模式我想用的最多的就是在DAO模式中。通常我们会编写好多的DAO类,这时我们的做法是将这些DAO中的共有方法抽象到一个AbstractDAO中,直接好处就是节省代码。代码不列举,不知道的朋友可以上网学习一下DAO模式,也是一个常用的模式。