java 之 模板模式(大话设计模式)
模板模式,我们很多人都用过,而且大家都比较喜欢这个模式,先看一下类图
大话设计模式-类图
作为一个程序员,不懂得“偷懒“,在笔者看来不是很合格哦!当我们编写程序时,发现很多个类所走的流程基本一致,只是少部分差异,这时我们就需要考虑模板模式,来减少重复代码,这样做的好处,不仅仅减少了代码,而且对于主体流程的管控,也是比较严格。
看下demo:
/** * 抽象父类 */ public abstract class AbstractProblem { public void tempProblem() { answerA(); answerB(); System.out.println("结束"); } public abstract void answerA(); public abstract void answerB(); }
/** * 学生1 */ public class Student1 extends AbstractProblem { @Override public void answerA() { System.out.println("A"); } @Override public void answerB() { System.out.println("A"); } }
/** * 学生2 */ public class Student2 extends AbstractProblem { @Override public void answerA() { System.out.println("D"); } @Override public void answerB() { System.out.println("D"); } }
/** * 客户端 */ public class Test { public static void main(String[] args) { Student1 st1 = new Student1(); st1.tempProblem(); Student2 st2 = new Student2(); st2.tempProblem(); } }
输出结果:
A
A
结束
D
D
到现在为止,笔者已经看了很多次设计模式,第一次看设计模式时,看每一个模式都需要很认真的思考几次,才能明白其精髓所在,并思考这个设计模式可以优化现有的哪些代码,
不过当笔者看到这个设计模式时,忽然意识到,原来我一直在使用这个模板设计模式。
以上是笔者对模板模式的理解,希望能帮助学习的小伙伴!共同进步!