1、什么是模板设计模式

  把抽象类(Abstract Class)整体看作是一个模板,模板中不能决定的东西定义成抽象方法(Abstract Method),让继承的子类去重写抽象方法实现需求。

2、使用场景

  主要解决一些方法通用,在很多类都重复使用的的场景。

3、优缺点

  优点:a、封装不变部分,扩展可变部分;

     b、提取公共的代码,方便维护;

  缺点:每一个不同的需求都需要一个子类来实现,会导致类的个数增多,系统变得庞大臃肿。

4、示例

复制代码
public abstract class TestTemplate {

    //作文模板
    public final void write() {
        //标题
        System.out.println("<我的妈妈>");
        //正文
        body();
        //结尾
        System.out.println("啊,这就是我的妈妈!");
    }

    //具体描述内容
    public abstract void body();

}

public class Test extends TestTemplate{

    @Override
    public void body() {
        System.out.println("这里面是描述的具体内容。。。");
    }
    
    public static void main(String[] args) {
        Test t = new Test();
        t.write();
    }

}
复制代码