再战设计模式(十六)之行为型-模板方法模式

模板方法模式

 举例:

  平时我们去吃饭.

  1.去饭店

  2.点餐

  3.结账

但是我们不知道要吃什么.中间是是不知道的.

介绍:

  模板方法模式是编程中经常用到的模式,它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现,这样新的子类就可以在不改变一个算法结构的前提下重新定义该算法的某些步骤

核心:
  处理某个流程的代码已经具备,但是某个节点的代码暂时不能确定,因此,我们采用工厂方法模式,将这个节点代码实现转移给子类完成,就是:处理的步骤父类中定义好,具体的实现延迟到子类中定义

类图:

代码实现:

public abstract class BankTemplateMethod {

    //模板方法
    public void takeNumber(){
        System.out.println("取号排队");

    }

    public abstract void transact();//具体交易
    public void leave(){
        System.out.println("离开");
    }


    public final void process(){
        this.takeNumber();
        this.transact();
        this.leave();
    }

}


public class DrawMoney extends BankTemplateMethod {
    @Override
    public void transact() {
        System.out.println("i want draw money");
    }
}
    

public class Main {
    public static void main(String[] args) {
        BankTemplateMethod bankTemplateMethod =  new DrawMoney();
        bankTemplateMethod.process();
        BankTemplateMethod bank2 = new BankTemplateMethod() {
            @Override
            public void transact() {
                System.out.println("我要存钱");
            }
        };
        bank2.process();
    }
}

总结:

这个模式很简单.我就不说什么了

原文地址:https://www.cnblogs.com/bj-xiaodao/p/10887465.html