模板,之所以称之为模板,就是说明是有一个固定的框架,所有人都可以用它,里面大部分内容都一样,只是里面可变的部分,是需要你自己填写的。
整个过程,就是,定义一个一个抽象类,把固定的部分,写好,可变的部分留在子类去实现,这样父类可以调用子类的具体方法。有人说,这就是“好莱坞原则”,也就是ioc,控制反转,一种解耦的方式。
abstract class Father{
final 框架不变方法{
可变method 1;
可变method 2;
}
可变method 1;
可变method 2;
}
这个就是基本框架。
你只需要创建相应的子类来继承这个抽象类,父类的方法实现,推迟到子类具体实现。
.总结与分析
1)模板方法模式是一种类的行为型模式,在它的结构图中 只有类之间的继承关系,没有对象关联关系。2)板方法模式是 基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。在模板方法模式中,可以 将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。3)在模板方法模式中,我们需要准备一个抽象类, 将部分逻辑以具体方法以及具体构造函数的形式实现,然后 声明一些抽象方法来让子类实现剩余的逻辑。 不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。模板方法模式体现了面向对象的诸多重要思想,是一种使用频率较高的模式。
它和策略模式都是类的继承的关系。
想看简单的代码,来看这里:http://blog.csdn.net/chmask/article/details/2631485