大话设计模式读后感之模板方法模式
来源:互联网 发布:simcms二手车源码 编辑:程序博客网 时间:2024/06/13 07:56
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法结构即可重定义该算法的某些特定步骤。
在JDK中用到
模板方法模式(Template Method)
•java.io.InputStream, java.io.OutputStream, java.io.Reader和java.io.Writer的所有非抽象方法
•java.util.AbstractList, java.util.AbstractSet和java.util.AbstractMap的所有非抽象方法
•javax.servlet.http.HttpServlet#doXXX()
文中拿考试卷作为例子
考试卷接口
/** * Created with Intellij IDEA. * User : Yebinghuan * Created on 2017/8/9. * Description : * 试卷逻辑 */public interface TestPaper { //考题1 public void examQuestions1(); //考题2 public void examQuestions2(); //答案 public String answer1(); //答案 public String answer2();}
/** * Created with Intellij IDEA. * User : Yebinghuan * Created on 2017/8/9. * Description : */public class TestPaperImpl implements TestPaper{ @Override public void examQuestions1() { System.err.println("1. 下面哪些是Thread类的方法()"); System.err.println("A start() B run() C exit() D getPriority()"); System.err.println("答案:"+answer1()); } @Override public void examQuestions2() { System.err.println("2.下面关于java.lang.Exception类的说法正确的是()"); System.err.println("A 继承自Throwable B Serialable CD 不记得,反正不正确"); System.err.println("答案:"+answer2()); } @Override public String answer1() { return ""; } @Override public String answer2() { return ""; }}
Main
public class Main { public static void main(String[] args) { Main m=new Main(); TestPaperImpl s1=m.new Student1(); TestPaperImpl s2=m.new Student2(); s1.examQuestions1(); s1.examQuestions2(); //学生2的答案 s2.examQuestions1(); s2.examQuestions2(); } class Student1 extends TestPaperImpl{ @Override public String answer1() { return "ABD"; } @Override public String answer2() { return "A"; } } class Student2 extends TestPaperImpl{ @Override public String answer1() { return "A"; } @Override public String answer2() { return "A"; } }}
模板方法模式分析
1、模板方法模式提供了一个很好的复用平台。 提高了复用性
2、也方便一次性维护试题
阅读全文
0 0
- 大话设计模式读后感之模板方法模式
- 读前辈的大话设计模式(八)之模板方法模式,抒自己的读后感
- 大话设计模式之模板方法模式
- 《大话设计模式》之模板方法模式
- 大话设计模式读后感之工厂模式
- 大话设计模式读后感之策略模式
- 大话设计模式读后感之装饰模式
- 大话设计模式读后感之原型模式
- 大话设计模式读后感之外观模式
- 大话设计模式读书笔记之模板方法
- 《大话设计模式》读后感
- 《大话设计模式》读后感
- 大话设计模式读后感
- 大话设计模式 模板方法
- 《大话设计模式》—— 读后感 (10)考题抄错会做也白搭——模板方法模式
- 大话设计模式之模板方法模式(Template Method Pattern)
- 大话设计模式之模板方法模式(Darren)
- 大话设计模式_模板方法模式
- 2017年8月8日提高组T2 呀!回文串
- Python入门
- 动态规划基础篇之最长公共子序列问题
- 2017.8.8--------练习赛
- HDU-1018 BigNumber
- 大话设计模式读后感之模板方法模式
- Ubuntu16.04下安装Visual Studio Code
- 2017 summer individual contest(6)
- TensorFlow学习之会话Sesstion()和交互会话InterativeSesstion()
- JS基础-算法
- 2017年8月7日提高组T3 选数
- URAL
- mybatis笔记-5-注解(一对一,一对多,多对多)
- javaweb学习总结——servlet开发