定义一个操作算法中的框架,而将这些步骤延迟加载到子类中。
它的本质就是固定算法框架。
让父类控制子类方法的调用顺序
模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
开发人员在开发时,只需要考虑方法的实现。不需要考虑方法在何种情况下被调用。实现代码复用。
一次性实现一个算法的不变部分,并将可变的行为留给子类来实现。
各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。
需要通过子类来决定父类算法中某个步骤是否执行,实现子类对父类的反向控制。
例子说明:
小明来买房.业务员小二接待小明.小二带领小明去看房,小明觉得还不错.留下了联系方式,就离开了
小明来买房.业务经理小强接待小明.小二带领小明去看房,提出了一些建议和购房优惠,小明觉得优惠还不错.留下了联系方式并且交了押金,就离开了
经理还是挺会套路的,哈哈哈哈
定义一个AbstractDisplay抽象类
package cn.design.template;
/**
* @author lin
* @version 1.0
* @date 2020-07-15 17:09
* @Description 抽象类, 定义模板方法
*/
public abstract class AbstractDisplay {
public abstract void join();
public abstract void execute();
public abstrac