模板模式

1 模板模式介绍

模板模式(Template Pattern)是一种基于代码复用的设计模式。具体实现需要架构师和开发人员之间进行合作。架构师构造好实现的流程和轮廓,开发人员则完成具体的实现过程。
父类抽象模板的作用如下:

  • 定义abstract限定符方法并交由子类实现。
  • 定义非private方法,延迟至子类实现,此方法也可以完成一些通用操作。
    子类实现模板的作用如下:
  • 实现父类abstract方法。
  • 可以重写父类非private方法。
    模板模式的静态结构如图所示:


    1.png
2 模板模式实现

以汽车为例,先定义一个汽车抽象类:

  public abstract class Car {
    void startUp() {
        System.out.println("启动!");
    }

    abstract void move();//强制要求实现7.

    void stop() {
        System.out.println("熄火!");
    }

    public final void operation() {//定义成 final, 防止被重写 
        // 第一步:启动
        startUp();
        //第二步:驾驶
        move();
        //第三步:停止
        stop();
     }
  }

上面定义了一个方法operation,里面有3个方法,其中move方法是交由子类实现的。而且为了operation类不被重写,我们把它定义成了final类型。
接下来定义两个汽车的实体类:

public class BMW extends Car {
    @Override
    void move() {
        System.out.println("BMW烧汽油动起来了");
    }
}
public class Benz extends Car {
    @Override
    void move() {
        System.out.println("Benz靠电动起来了");
    }
}

使用方式:

Car bmw = new BMW();
bmw.move();
Car benz=new Benz();
benz.move();

你可能感兴趣的:(模板模式)