设计模式 - 行为型 - 模板模式学习

news2024/11/27 20:35:04

现象:
设计模式 - 行为型 - 模板模式学习

介绍:
模板模式的设计思路,在抽象类中定义抽象方法的执行顺序,
并将抽象方法设定为只有子类实现,但不提供独立访问的方法 只能通过已经被安排好的定义方法去执行

可以控制整套逻辑的执行顺序和统⼀的输⼊、输出
对于实现方只需要关心好自己的子业务逻辑即可编写即可

如例子中的银行 每个银行只关心自己的实际逻辑 执行循序已经被安排的明明白白

方法:

一:首先定义基础执行数据模型和此业务执行具体执行数据模型

  1. 定义基础执行数据模型 可抽取共有属性
    在这里插入图片描述
    2.定义业务数据执行数据模型
    在这里插入图片描述

二:模板模式核心 定义操作流程与业务接口提供给继承类实现

1.定义设计模式的灵魂
外部可访问 handle方法执行银行办理业务操作
在handle定义了具体去银行执行业务的循序
提供三个具体抽象方法给继承子类去实现 取号、办理、评价
在这里插入图片描述

三:测试使用

此处直接使用new对象来控制
实际业务中可借助spring容器注入方式来控制
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/402518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何快速生成数据字典SQL语句

如何快速生成数据字典SQL语句 一、首先我们找到需要生成的数据字典的国家标准 以民族数据字典为例 打开浏览器搜索民族字典代码表得到如下数据,并把得到的数据存入Excel表格中 国标民族数据字典 国标民族字典 第七次全国人口普查民族代码表与民族国标代码 第七次…

JVM垃圾回收之GCRoots可达性分析

已经死亡的对象,不可达的对象,肯定会被回收。 什么样的对象会被回收? 判定的算法有两种:引用计数法和可达性分析算法。 引用计数法:(不使用这种) 给对象中添加一个引用计数器,每当…

springboot项目打jar包发布上线、查看日志和进程号

目录前言一、Maven打包1.1 删除test文件和对应依赖(不建议)1.2 pom.xml中配置跳过测试1.3 使用idea打包1.4 使用maven命令打包二、启动jar包2.1 简单启动2.2 后台运行并打印日志2.3 脚本启动三、查看日志3.1 tail命令查看日志3.2 cat命令查看日志四、其他…

员工为什么对绩效考核不满意?管理者应该怎么做?

绩效考核是公司管理员工的重要工具,员工通过绩效考核可以衡量自己的工作效果和完成任务的能力,能够帮助管理者更好的了解员工的工作情况和绩效表现。 但是,现实中很多员工对绩效考核“不满意”,认为绩效考核不公正、不透明、不准确…

docker基础命令-阳哥

docker基础篇-阳哥 文章目录docker基础篇-阳哥centos7最小安装准备工作网络设置安装必备工具1.1 安装工具1.5 优化ssh连接1.1 修改ssh服务的配置文件1.2 找到对应的行数修改如下1.3 修改完成之后重启ssh服务1.6 永久修改主机名sed命令sed命令替换文本_xbd_zc的博客-CSDN博客1.镜…

《2023年化妆品原料成分趋势报告》| 解码化妆品备案数据,洞悉2023年潜力原料成分

回顾2022年,是中国化妆品行业“历史转折年”。备案制度的全面改革,直接改变了产品备案新格局。法律法规对新品备案提出了详实的要求,新品出炉也设置了更高的门槛,所以我们清晰地看到2022年整体的化妆品备案数据大幅度下滑&#xf…

精心梳理的11个在线常用工具,提高开发效率

1、Hutool工具类——Java开发常用工具类 参考文档:https://hutool.cn/docs/index.html#/ 2、在线工具——各种工具整合 我主要用于时间戳转换,进制转换等。 地址:https://tool.lu/ 3、蛙蛙工具——各种文本字符等整合工具 https://www…

python@pyside样式化

文章目录refWidget类创建样式化文件qss引用样式并启动应用ref Styling the Widgets Application - Qt for PythonQt Style Sheets Reference | Qt Widgets 5.15.12 Widget类创建 创建一个简单界面(菜单主要内容)它们是水平布局 主要内容包括一段文本和一个按钮,它们是垂直布…

AI大模型,驶向产业何方?

技术更迭,已不是壁垒,国产式AI需要的是产品的创新思维,以及对需求的产品变现能力。 作者|斗斗 出品|产业家 “AI炒了那么多年,第一次感觉它真的要来了。”国内某论坛中,带有ChatGPT的词条下,几乎都会出…

【Java开发】设计模式 01:单例模式

1 单例模式介绍单例模式(Singleton Pattern)是Java中最为基础的设计模式。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对…

打怪升级之使用csv文件发送UDP数据

面临的困难 如果你想做一个基于UDP包的数据处理问题的话,比较好的办法是使用csv文件来进行数据的保存(csv文件比较简单,方便进行各种处理)。 CSV文件格式简单,一方面它可以直接被excel处理,另一方面它完全…

PDF转word在线转换方法!操作简单又高效

相信很多已经工作的人都知道,PDF文件格式的优点在于兼容性强、安全性高,而且查看和传输给他人都很方便。但是,这种格式的文件也有不太方便的地方,那就是不能对文件内容进行编辑和修改。对于许多人来说,如果想要编辑修改…

接口自动化神器推荐:免费开源Lim接口测试平台

前言 对于传统的实现接口自动化的方案往往是搭建自动化框架,通过excel编写用例来驱动执行,例如常见的万金油技术栈组合:excel(编写用例)、pytest(用例执行)、allure(测试报告)等。 很多公司往往是通过自动化框架而非…

3-2 SpringCloud快速开发入门:Ribbon 实现客户端负载均衡

接上一章节Ribbon 是什么,这里讲讲Ribbon 实现客户端负载均衡 Ribbon 实现客户端负载均衡 由于 Spring Cloud Ribbon 的封装, 我们在微服务架构中使用客户端负载均衡调用非常简单, 只需要如下两步: 1、启动多个服务提供者实例并…

Matplotlib 绘图实用大全

本文只介绍最简单基本的画图方法 预设 要想画出来的图有些逼格,首先应该进行如下设置 plt.rcParams[font.sans-serif][SimHei] #画图时显示中文字体 plt.rcParams[axes.unicode_minus] False #防止因修改成中文字符,导致某些 unicode 字符不能…

正则表达式高阶技巧之环视的组合(使用python实现)

环视的组合介绍环视的组合环视中包含环视并列多个环视注意:环视作为多选分支排列在多选结构中断言与反向引用之间的关系介绍 在我们日常使用的编程语言都是支持环视的,但是语言不同,支持程度也就不同,下面具体介绍一下在python中…

【ChatGPT前世今生】前置知识Seq2Seq入门理解

【ChatGPT前世今生】前置知识Seq2Seq入门理解1、环境准备与依赖包安装2、数据集准备3、数据集预处理与读取4、定义Seq2Seq模型的基础类5、预处理训练数据集6、定义训练过程7、定义验证过程8、执行训练与验证过程9、展示模型的结果,进行进一步分析最近一段时间&#…

js - CommonJs和ES6 module的使用和区别

文章目录1,先说区别2,CommonJS3,ES6 module1,先说区别 阮一峰老师在 ES6 入门 中提到 ES6 模块与 CommonJS 模块有一些重大的差异: 它们有三个重大差异: CommonJS 模块输出的是一个值的拷贝,…

Idea+maven+spring-cloud项目搭建系列--11-1 dubbo(zookeeper,nacos)注册中心

前言:dubbo rpc 服务需要将服务提供者和消费者信息进行注册,以便于消费端可以完成远程接口调用;注册中心是 Dubbo 服务治理的核心组件,Dubbo 依赖注册中心的协调实现服务(地址)发现,自动化的服务…

json-server单独使用或者在react中进行使用

json-serverjson-server使用教程修改json-server端口号启动1、全局安装json-server2、在根目录生成一个db.json3、启动 访问react中进行使用react中修改json-server启动端口号1、 第一步也是安装,和第一种一样2、在根路径下定义一个__json_server_mock__文件夹3、在…