模板模式

来源:互联网 发布:照片素描软件 编辑:程序博客网 时间:2024/06/03 20:20

概念

模板模式很简单,通过名字都能明白,设定好需要实现的方法,在子类中实现定义的方法。

类图

这里写图片描述

实现算法

//---------------------------基础模板-----------------------public abstract class BaseTemplate {    public abstract void showA();    public abstract void showB();    public void showFuck() {        showA();        showB();        System.out.println("base fuck");    }//----------------------------------实现模板A---------------------------public class firstTemplate extends BaseTemplate {    @Override    public void showA() {        System.out.println("first A");    }    @Override    public void showB() {        System.out.println("first B");    }}//----------------------------------实现模板B---------------------------public class secondTemplate extends BaseTemplate {    @Override    public void showA() {        System.out.println("second A");    }    @Override    public void showB() {        System.out.println("second B");    }}

优缺点

优点

- 模板方法把不变的方法搬到了模板类中,去除了子类中的重复代码- 子类实现细节,方便扩展

缺点

  • 子类太多会导致实现较麻烦

使用场景

  • 合并具有相同方法的类
  • 控制子类扩展,子类必须遵循相关方法。