模板方法模式
定义一个操作中的算法的框架,而将一些步骤延迟到子类中。
优点:
1、封装不变部分,扩展可变部分;
2、提取公共部分代码,便于维护;
3、行为由父类控制,子类实现。
//抽象模板类
public abstract class AbstractClass {
//基本方法
public abstract void doSomething();
//基本方法
public abstract void doAnything();
//模板方法
public void templateMethod(){
this.doAnything();
this.doSomething();
}
}
//具体模板类1
public class ConcreteClass1 extends AbstractClass {
@Override
public void doSomething() {
//业务逻辑
}
@Override
public void doAnything() {
//业务逻辑
}
}
//具体模板类2
public class ConcreteClass2 extends AbstractClass {
@Override
public void doSomething() {
//业务逻辑
}
@Override
public void doAnything() {
//业务逻辑
}
}