行为模式-模板方法模式

准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。

抽象模板角色:

package com.javapatterns.templatemethod;

abstract public class AbstractClass
{
    public void TemplateMethod()
    {
        doOperation1();

        doOperation2();

        doOperation3();
    }

    protected abstract void doOperation1();

    protected abstract void doOperation2();

    private final void doOperation3()
    {
        //do something
    }
}

 

 

具体模板角色:

package com.javapatterns.templatemethod;

public class ConcreteClass extends AbstractClass 
{
    public void doOperation1()
    {
        //write your code here
        System.out.println("doOperation1();");
    }

    public void doOperation2()
    {
        //The following should not happen:
        //doOperation3();

        //write your code here
        System.out.println("doOperation2();");
    }
}

 

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