设计模式之模板方法模式---TemplateMethod

1. 模板方法特点

优点: 

  1. 封装不变部分,扩展可变部分。
  2. 提取公共代码,便于维护。
  3. 行为由父类控制,子类实现。

缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。

1. 代码(使用大话模式的案例)

public class TestPage {

    public void Question1(){
        System.out.println("问题1:");
        System.out.println(Answer1());
    }

    protected String Answer1() {
        return "";
    }

    public void Question2(){
        System.out.println("问题2:");
        System.out.println(Answer2());
    }

    protected String Answer2() {
        return "";
    }
    public void Question3(){
        System.out.println("问题1:");
        System.out.println(Answer3());
    }

    protected String Answer3() {
        return "";
    }
}
public class TestPageA extends TestPage {

    @Override
    protected String Answer1() {
        return "a";
    }

    @Override
    protected String Answer2() {
        return "a";
    }

    @Override
    protected String Answer3() {
        return "a";
    }
}


public class TestPageB extends TestPage {

    @Override
    protected String Answer1() {
        return "a";
    }

    @Override
    protected String Answer2() {
        return "a";
    }

    @Override
    protected String Answer3() {
        return "a";
    }
}

 

你可能感兴趣的:(23种设计模式,模板模式,设计模式)