模板方法模式
模板方法模式比较简单, 其实就是对一些不可变的业务进行封装, 对可变的部分提供扩展。
那扩展当然就是接口或者抽象类了。 但考虑到又有不可变的部分, 所一抽象类就成了不二的选择。
一个抽象模板类通常包括
1. 基本方法
2. 模板(abstract)方法
Java 示例代码
package com.picc.cl;
public abstract class TemplateMethod {
/**定义一些抽象行为,放到子类去实现*/
abstract void getUp();//起床
abstract void faceWash();//洗脸
abstract void eat();//吃饭
abstract void startWork();//上班
/**模板方法,给出了逻辑的骨架,而逻辑的组成是一些相应的抽象操作,它们都推迟到子类实现*/
public void TemplateMethodTotal(){
getUp();//起床
faceWash();//洗脸
eat();//吃饭
startWork();//上班
}
public static void main(String[] args) {
TemplateMethod method = new ZS();
method.TemplateMethodTotal();
}
}
class ZS extends TemplateMethod{
@Override
void eat() {
System.out.println("张三吃饭");
}
@Override
void faceWash() {
System.out.println("张三洗脸");
}
@Override
void getUp() {
System.out.println("张三起床");
}
@Override
void startWork() {
System.out.println("张三开始工作");
}
}
运行结果
张三起床
张三洗脸
张三吃饭
张三开始工作