美文网首页
模板模式

模板模式

作者: 四喜汤圆 | 来源:发表于2019-11-03 21:58 被阅读0次

一、作用

模板类形式化地定义一个算法框架,由它的子类来实现细节的处理。子类在实现细节时并不会改变算法步骤的执行次序

二、概念

鸿洋-模板模式

UML

三、使用

1. 抽象类中定义一个方法workOneDay()构建算法框架

public abstract class Worker {
    private String name;

    public Worker(String name) {
        this.name = name;
    }

    /**
     * 用final修饰方法,表示方法不可被重写 记录一天的工作 (1)进公司 (2)打开电脑 (3)工作 (4)关闭电脑 (5)离开公司 方法(3)由子类实现,其余方法在超类中都已实现
     */
    public final void workOneDay() {
        System.out.println("----work start---");
        enterCompany();
        computerOn();
        work();
        computerOff();
        exitCompany();
        System.out.println("----work end---");
    }

    private void exitCompany() {
        System.out.println(name + "离开公司");

    }

    private void computerOff() {
        System.out.println(name + "关闭电脑");

    }

    protected abstract void work();

    private void computerOn() {
        System.out.println(name + "打开电脑");

    }

    private void enterCompany() {
        if (isNeedPrintDate()) {
            System.out.print(new Date().toLocaleString() + "-->");
        }
        System.out.println(name + "进入公司");
    }

    /**
     * 模板方法里可以可选的设置钩子(就是开关的意思把...)
     * 
     * @return
     */
    public boolean isNeedPrintDate() {
        return false;
    }

}

2. 钩子的设置(开关)

private void enterCompany() {
    if (isNeedPrintDate()) {
        System.out.println(new Date().toLocaleString() + "-->");
    }
    System.out.println(name + "进入公司");
}

/**
 * 模板方法里可以可选的设置钩子(就是开关的意思把...)
 * 
 * @return
 */
public boolean isNeedPrintDate() {
    return false;
}

设计模式(行为型)之模板方法模式(Template Method Pattern)

相关文章

  • 11.8设计模式-模板模式-详解

    设计模式-模式模式 模板方法模式详解 模板方法模式在android中的实际运用 1.模板方法模式详解 2.模板方法...

  • 第5章 -行为型模式-模板方法模式

    一、模板方法模式的简介 二、模板方法模式的优点 三、模板方法模式的应用场景 四、模板方法模式的实例

  • 模板方法模式

    模板方法模式 模板方法模式的定义 模板方法模式(Template Method Pattern)是如此简单,以致让...

  • 设计模式系列-模板方法模式

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 模板方法模式 定义 模板方法模式在一个方法中定义了算法...

  • 设计模式(行为型)-- 模板模式

    模板模式的原理与实现 模板模式,全称是模板方法设计模式,英文是 Template Method Design Pa...

  • 行为型-Template

    模板模式的原理与实现 模板模式,全称是模板方法设计模式,英文是 Template Method Design Pa...

  • 行为型 模板模式(文末有项目连接)

    1:模板方式解决的问题(先了解) 2:模板模式的原理与实现 3:模板模式核心代码 4:模板模式复用例子(Input...

  • 模板模式,也是解耦算法的吗?

    模板模式,和算法有什么关系呢? 模板模式,在什么场景使用呢? 模板模式(Template Pattern),定义一...

  • 模板方法模式

    一、模板方法模式介绍 二、模板方法模式代码实例

  • 58 - 模板模式

    本文来学习另外一种行为型设计模式,模板模式。模板模式主要是用来解决复用和扩展两个问题 模板模式的原理与实现 模板模...

网友评论

      本文标题:模板模式

      本文链接:https://www.haomeiwen.com/subject/aipevctx.html