23种设计模式(十四)模板方法模式(阁瑞钛伦特软件-九耶实训)
常说的设计模式是23种设计模式,分为3大类:
- 创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型
- 结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合
- 行为型模式11种:模板方法、解释器、策略、观察者、迭代器、职责链、命令、备忘录、状态、访问者、中介者。
上次咱们说完“组合模式”后,结构型模式的7种也介绍完了,加上创建型模式,已经介绍过13种模式。今天咱们开始介绍行为型模式的11种,而第一个要介绍的就是“模板方法模式”。行为型模式重点在于对行为方法的使用。
“模板方法模式”主要是“模板”的设定。
通常我们取解决某件事情,或者完成一项工作,必须一步一步完成,而有的事情必须按照固定流程完成,而这以固定流程便是我们要完成的行为方法的模板,无论是多少的实现类,最终都要按照我们设定好的模板执行下去。
抽象类“AbstractClass”设定了模板步骤“TemplateMethod()”,并且规定了每一步骤方法的实现方式:“doOperation1()”和“doOperation2()”两个抽象方法,以及一个“odOperation3()”私有最终方法(private final)。
实现步骤方法1和步骤方法2,无论怎么实现,最终还要调用“模板方法”执行固定流程。
来来来,我们讲故事了。《西游记》的故事又来了。实际西游记中讲的就是西天取经的神话故事。其实现在看来,即使不是唐僧西天取经,换做别人的话,81难仍然要过。给人感觉就像已经挖好81个坑,有人来跳就可以了。而这挖好的81个坑,就可以用咱们的模板方法模式来体现。
金蝉遭贬第一难, 出胎几杀第二难, 满月抛江第三难, 寻亲报冤第四难, 出城逢虎第五难, 落坑折从第六难, 双叉岭上第七难, 两界山头第八难, 陡涧换马第九难, 夜被火烧第十难, 失却袈裟十一难, 收降八戒十二难, 黄风怪阻十三难, 请求灵吉十四难, 流沙难渡十五难, 收得沙僧十六难, 四圣显化十七难, 五庄观中十八难, 难活人参十九难, 贬退心猿二十难, 黑松林失散二十一难, 宝象国捎书二十二难, 金銮殿变虎二十三难, 平顶山逢魔二十四难, 莲花洞高悬二十五难, 乌鸡国救主二十六难, 被魔化身二十七难, |
号山逢怪二十八难, 风摄圣僧二十九难, 心猿遭害三十难, 请圣降妖三十一难, 黑河沉没三十二难, 搬运车迟三十三难, 大赌输赢三十四难, 祛道兴僧三十五难, 路逢大水三十六难, 身落天河三十七难, 鱼篮现身三十八难, 金兜山遇怪三十九难, 普天神难伏四十难, 问佛根源四十一难, 吃水遭毒四十二难, 西梁国留婚四十三难, 琵琶洞受苦四十四难, 再贬心猿四十五难, 难辨猕猴四十六难, 路阻火焰山四十七难, 求取芭蕉扇四十八难, 收缚魔王四十九难, 赛城扫塔五十难, 取宝救僧五十一难, 棘林吟咏五十二难, 小雷音遇难五十三难, 诸天神遭困五十四难, |
稀柿衕秽阻五十五难, 朱紫国行医五十六难, 拯救疲癃五十七难, 降妖取后五十八难, 七情迷没五十九难, 多目遭伤六十难, 路阻狮驼六十一难, 怪分三色六十二难, 城里遇灾六十三难, 请佛收魔六十四难, 比丘救子六十五难, 辨认真邪六十六难, 松林救怪六十七难, 僧房卧病六十八难, 无底洞遭困六十九难, 灭法国难行七十难, 隐雾山遇魔七十一难, 凤仙郡求雨七十二难, 失落兵器七十三难, 会庆钉钯七十四难, 竹节山遭难七十五难, 玄英洞受苦七十六难, 赶捉犀牛七十七难, 天竺招婚七十八难, 铜台府监禁七十九难, 凌云渡脱胎八十难, 通天河遇鼋湿经书八十一难 |
由于坑太多,我们把这八十一难放在一个Content的文件中,利用io流读取出来。
这样我们先建立一个“取经人”的接口以为模板。
规定了取经人必须走的流程。
实现一个唐僧,让他取过81个坑
最终,调用模板方法,完成流程。
23种设计模式(十四)模板方法模式(阁瑞钛伦特软件-九耶实训)相关推荐
- 23种设计模式(二十二)状态模式(阁瑞钛伦特软件-九耶实训)
常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法.抽象工厂.单例.建造者.原型 结构型模式7种:适配器.代理.桥接.装饰者.外观.享元.组合 行为型模式11种:模板方法.解释器. ...
- 23种设计模式(十一)外观模式(阁瑞钛伦特软件-九耶实训)
常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法.抽象工厂.单例.建造者.原型 结构型模式7种:适配器.代理.桥接.装饰者.外观.享元.组合 行为型模式11种:模板方法.解释器. ...
- 23种设计模式(二十三)访问者模式(阁瑞钛伦特软件-九耶实训)
常说的设计模式是23种设计模式,分为3大类: 创建型模式5种:工厂方法.抽象工厂.单例.建造者.原型 结构型模式7种:适配器.代理.桥接.装饰者.外观.享元.组合 行为型模式11种:模板方法.解释器. ...
- 在Windows操作系统中安装MySQL8教程(一)(二)(阁瑞钛伦特软件—九耶实训)
1.1 下载MySQL8数据库 (已上传) 打开网址: https://www.mysql.com 显示界面如图1-xx所示. 点击DOWNLOADS菜单,显示界面如图1-xx所示. 点击" ...
- Oracle使用OMS备份数据(阁瑞钛伦特软件-九耶实训)
在oracle 中可以方便的把数据导出为文件,或者从文件导入.通过oracle的管理服务器(oracle management server,oms)可以方便的实现,整个操作过程中有很多地方需要解释说 ...
- 添加用户并配置读写权限(阁瑞钛伦特软件-九耶实训)
1.3.1添加用户并授予读写权限 Step01:进入CMD控制台输入命令如图1.43所示. 图1.43 增加1个ghy账户并设置密码 参数-c就是创建password.ini文件,再创建1个用户时就不 ...
- 23种设计模式之:模板方法模式
转载地址:https://blog.csdn.net/zhengzhb/article/details/7405608 整理的设计模式实例:https://github.com/jinchuanchu ...
- IT行业人均年薪11万,阁瑞钛伦特软件分析程序员工资为什么这么高?
在当代众多行业中,如果要问什么岗位发展最好.薪资最高? 相信80%的人会说程序员. 和工程师的耀眼形象不同,多数人眼里的程序员更接近于一群情趣干瘪的宅男,而非高智商高收入的精英群体. 客观而言,这些评 ...
- 备战面试日记(3.3) - (设计模式.23种设计模式之结构型模式)
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.9 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...
最新文章
- QIIME 2教程. 30补充资源SupplementaryResources(2020.11)
- 数据库中省区市组装成json_全国各省、市、县、镇、村的mysql数据库和JSON格式数据...
- 移植uboot第二步:分析uboot
- 自己做站点(二) 20块钱搞定一个企业站:域名amp;空间申请
- 解析Linux 多应用程序docker自动部署脚本
- 如何创建一个新浪微博应用以及获得Access token
- 【译】What is a UTXO, and how does it work for a blockchain ledger?
- Java数据类型和MySql数据类型对应表
- python3爬虫入门实例_10个python爬虫入门实例(小结)
- 两个listmap合并去重_单机亿级规模题库去重,如果是你会怎么做?
- php程序员需要精通js的程度_PHP程序员基本要求和必备技能
- 求方阵的鞍点(即在行最小列最大的那个点)
- 全网首发:FFMpeg使用NVIDIA DECODER,解码后的数据是NV12,不是YUV420P
- Linux查看磁盘是否被占满,怎么查看Linux磁盘空间是否满了?
- 【Widevine L1】MTK平台基于Trustonic TEE方案widevine keybox异常log
- mysql 如何还原数据库
- win10计算机如何切换用户名,如何修改电脑用户名,win10系统更改用户名方法
- 华天OA漏洞复现手册
- unreal-教程-第十八章:UI跟随的基本原理(c++)
- coredump 瘦身风云
热门文章
- 互联网档案馆为何决定提前两周关闭其国家应急图书馆?
- YOLOV8改进:在c2f模块中的不同位置加入NAMAAttention注意力机制
- nfa状态转换图正规式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
- 英语总结-14年4月
- 火狐量子浏览器怎么样,firefox quantum下载
- C语言之大王叫我来巡山呐
- 如何从绩效报告中分辨出——好模型 or 坏模型
- eclipse ide安装_如何下载和安装Eclipse IDE?
- python整数类型bcdoxx_Python学习的Format()函数,python,之,format
- 放弃python选r_无需纠结R还是Python