且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JAVA设计模式之【模板方法模式】

更新时间:2022-08-17 10:41:34

模板方法模式    提高代码的复用性    把常用的基本方法放入父类中    强调一种流程步骤    角色        抽象类            抽象方法            具体方法            钩子方法                空方法                通过bool控制        具体类

看例子

1.银行模板类

package TemplateMethod;

/**
 * Created by Jiqing on 2016/10/31.
 */
public abstract class BankTemplateMethod
{
    public void takeNumber()
    {
        System.out.println("取号排队。");
    }

    public abstract void transact();

    public void evaluate()
    {
        System.out.println("反馈评分。");
    }

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

2.具体业务

package TemplateMethod;

/**
 * Created by Jiqing on 2016/10/31.
 */
public class Deposit extends BankTemplateMethod
{
    public void transact()
    {
        System.out.println("存款");
    }
}
package TemplateMethod;

/**
 * Created by Jiqing on 2016/10/31.
 */
public class Transfer extends BankTemplateMethod
{
    public void transact()
    {
        System.out.println("转账");
    }
}
package TemplateMethod;

/**
 * Created by Jiqing on 2016/10/31.
 */
public class Withdraw extends BankTemplateMethod
{
    public void transact()
    {
        System.out.println("取款");
    }
}

4.客户端


package TemplateMethod;

/**
 * Created by Jiqing on 2016/10/31.
 */
public class Client
{
    public static void main(String a[])
    {
        BankTemplateMethod bank;
        bank=new Deposit();
        bank.process();
        System.out.println("---------------------------------------");
        bank = new Transfer();
        bank.process();

    }
}

结果:

取号排队。
存款
反馈评分。
---------------------------------------
取号排队。
转账
反馈评分。

JAVA设计模式之【模板方法模式】



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6014535.html,如需转载请自行联系原作者