首页 > 其他分享 >模板方法模式(Template)

模板方法模式(Template)

时间:2022-11-26 20:12:24浏览次数:33  
标签:void System 模式 Template println public 模板 out

做一件事情,流程是固定的,其中存在不确定的同一类事务。

例如:

  去店里吃饭:1、进入店铺。2、点单。3、吃饭。

  不确定的是第二步:点单。

实现:

  在父类中定义好统一的处理步骤(为不可重写的方法 final ),由子类实现不同的步骤后,调用统一的处理步骤。一般可以使用匿名内部类简化。


 

比如我从睡醒到出门上班这一流程。

父类:

public abstract class Template {
    public void first(){
        System.out.println("第一步:睁开眼睛!");
    }
    //待实现的方法
    public abstract void second();

    public void end(){
        System.out.println("最后一步:出门上班!");
    }

    //处理步骤在父类中定义好
    public final void doSomethings(){
        first();
        second();//像个钩子,执行时挂哪个子类就调用哪个子类的方法
        end();
    }
}

子类:

class Second extends Template{
    @Override
    public void second() {
        System.out.println("第二步:穿衣服、洗漱、照镜子、吃早餐");
    }
}

测试:

public class Client{
    public static void main(String[] args) {
        Second s = new Second();
        s.doSomethings();
        System.out.println("-----------------");

        //使用匿名内部类
        Template s2 = new Template() {
            @Override
            public void second() {
                System.out.println("第二步:吃饭饭");
            }
        };
        s2.doSomethings();
    }
}

测试结果:

 

标签:void,System,模式,Template,println,public,模板,out
From: https://www.cnblogs.com/lurenjia-bky/p/16928183.html

相关文章

  • 策略模式(Strategy)
    当处理同一个对象有多个处理算法的时候,使用一个策略对象来选择处理算法。  例子:对于客户的优惠率。算法实现统一的接口:publicinterfaceStrategy{pub......
  • 设计模式之创建型模式
    创建型模式:提供创建对象的机制,提升已有代码的灵活性和可复⽤性。PS:博客根据it老齐大话设计模式课程课件进行整理,IT老齐视频学习网站:https://www.itlaoqi.com包含的设......
  • 痞子衡嵌入式:MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是MCUXpressoIDE下高度灵活的FreeMarker链接文件模板机制。痞子衡之前写过一篇文章《MCUXpresso......
  • 解释器模式(Interpreter)
    自定义解析器。需要:构建语法树,定义终结符与非终结符。 替代方案:Java中使用脚本引擎运行脚本语言......
  • 访问者模式(Visitor)
    表示一个作用于某对象结构中的各个元素的操作,使我们在不改变元素的类的前提下定义作用于这些元素的新操作。使用场景:对象结构比较稳定,但经常需要在此对象结构上定义新的......
  • 数据结构初阶--双向循环链表(讲解+类模板实现)
    带头双向链表的结构看下面的图,就是我今天要给大家分享有结构——带头双向循环链表。这里的头是不存放任何数据的,就是一个哨兵卫的头结点。用代码来表示每一个节点就是这......
  • 外观模式(也叫做门面模式)
    外观模式(也叫做门面模式):影院管理项目:         外观模式的基本介绍:   外观模式的原理类图:   原理类图的说明(外观模式的角色)1)外观类(F......
  • 命令模式(Command)
    将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 结构:......
  • 企业办公新模式,随时随地云上协同!
    如今,越来越多人参与到项目中进行协同,因此对企业内部的协同办公提出了更高的要求,同时加之大环境下的居家办公要求,导致很多人一回到家之后就会出现无电脑可用、没有办公室电脑......
  • 修改Word默认模板
    修改Word默认模板文档操作系统:Windows10Word版本:2019一、创建Word新文档原理在新建Word文档时,Word会根据“用户模板”路径,搜寻路径下名为Normal.dotm的文件,即Word的默......