设计模式之模板方法模式-创新互联

通过AB卷来简单梳理模板方法模式

学生时代考试时,经常涉及到AB卷,假如现在需要出两套试卷,试题及答案有差异但不大,这个时候该如何设计呢?
我们可以用模板方法模式来考虑这个问题。

发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都橡塑保温等,在成都网站建设全网整合营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。模板方法模式实现 定义试卷基类

首先定义一个试卷基类,方便真实的试卷来继承公用的部分

public class TestPaper {public void TestQuestion1(){System.out.println("问题1");
        System.out.println("答案1:"+Answer1());
    }
    protected String Answer1(){return "";
    }

    public void TestQuestion2(){System.out.println("问题2");
        System.out.println("答案2:"+Answer2());
    }
    protected String Answer2(){return "";
    }

    public void TestQuestion3(){System.out.println("问题3");
        System.out.println("答案3:"+Answer3());
    }
    protected String Answer3(){return "";
    }
}

定义具体的实现类

public class TestPaperA extends TestPaper{@Override
    public String Answer1(){return "a";
    }

    @Override
    public String Answer2(){return "b";
    }

    @Override
    public String Answer3(){return "c";
    }
}
public class TestPaperB extends TestPaper{@Override
    public String Answer1(){return "d";
    }

    @Override
    public String Answer2(){return "e";
    }

    @Override
    public String Answer3(){return "f";
    }
}
定义业务方法

看在具体业务逻辑中如何使用

public class TemplateMethod {public static void main(String[] args) {//模板方法模式
        func1();
    }

    public static void func1(){System.out.println("A试卷:");
        TestPaper paperA = new TestPaperA();
        paperA.TestQuestion1();
        paperA.TestQuestion2();
        paperA.TestQuestion3();

        System.out.println("B试卷:");
        TestPaper paperB = new TestPaperB();
        paperB.TestQuestion1();
        paperB.TestQuestion2();
        paperB.TestQuestion3();
    }
}
执行结果
A试卷:
问题1
答案1:a
问题2
答案2:b
问题3
答案3:c
B试卷:
问题1
答案1:d
问题2
答案2:e
问题3
答案3:f
结果分析
模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。

https://xmlrambo.github.io/

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:设计模式之模板方法模式-创新互联
新闻来源:http://myzitong.com/article/dgehpe.html