• 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

    到现在为止,笔者已经看了很多次设计模式,第一次看设计模式时,看每一个模式都需要很认真的思考几次,才能明白其精髓所在,并思考这个设计模式可以优化现有的哪些代码,

    不过当笔者看到这个设计模式时,忽然意识到,原来我一直在使用这个模板设计模式。

    以上是笔者对模板模式的理解,希望能帮助学习的小伙伴!共同进步!

  • 相关阅读:
    js数组中indesOf方法的使用
    js之数组排序
    大神的博客地址liferay
    CRM项目总结-封装PortletURLUtil
    有待整理
    摘要JSR168 PORLET标准手册汉化整理
    蓝色表格 -- 材料
    node 项目材料 集合
    一个浮动 css3效果
    代码 工具
  • 原文地址:https://www.cnblogs.com/zhuxiansheng/p/7921602.html
Copyright © 2020-2023  润新知