模闆方法(Template Method)普遍存在于抽象類中,它用一些抽象的方法定義一個算法,而将這些抽象方法的具體實作放到子類中。
模闆方法包含兩部分:
- AbstractClass 實作一個模闆方法,進而定義一個算法的骨架
- ConcreteClass 實作模闆方法中抽象的原語操作
AbstractClass
abstract class AbstractClass {
void templateMethod() {
prepare();
execute();
end();
}
abstract void prepare();
abstract void execute();
abstract void end();
}
ConcreteClass
class ConcreteClass extends AbstractClass {
@Override
void prepare() {
}
@Override
void execute() {
}
@Override
void end() {
}
}