GOF之模板方法模式

来源:互联网 发布:html 展示json数据 编辑:程序博客网 时间:2024/05/21 09:58

                        模板方法模式

  什么是模板方法模式呢?其实如果说得更加接地气的话,应该说是多态的一个应用,或者说是回调函数或者说是钩子函数。这是要注意的。


  

 

 

 

 

   

 

 

 

 那么在日常的开发当中,我们应当如何使用模板方法模式呢?

 我们来看一个简单的例子:

  package com.bjsxt.templateMethod;

 

public abstract class BankTemplateMethod {

//具体方法

public void takeNumber(){

System.out.println("取号排队");

}

public abstract void transact(); //办理具体的业务 //钩子方法

public void evaluate(){

System.out.println("反馈评分");

}

 

 

public final void process(){ //模板方法!!!

this.takeNumber();

 

this.transact();

 

this.evaluate();

}

}

 

 

package com.bjsxt.templateMethod;

 

public class Client {

public static void main(String[] args) {

BankTemplateMethod btm = new DrawMoney();

btm.process();

//采用匿名内部类

BankTemplateMethod btm2 = new BankTemplateMethod() {

@Override

public void transact() {

System.out.println("我要存钱!");

}

};

btm2.process();

BankTemplateMethod btm3 = new BankTemplateMethod() {

@Override

public void transact() {

System.out.println("我要理财!我这里有2000万韩币");

}

};

btm3.process();

}

}

 

 

 

class DrawMoney extends BankTemplateMethod {

 

@Override

public void transact() {

System.out.println("我要取款!!!");

}

}

 


0 0
原创粉丝点击