设计模式(十四) 模板方法模式 技术栏(张老师)
发布于 2021-10-10 12:51
常说的设计模式是23种设计模式,分为3大类:
一、创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型
二、结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合
三、行为型模式11种:模板方法、解释器、策略、观察者、迭代器、职责链、命令、备忘录、状态、访问者、中介者。
上次咱们说完“组合模式”后,结构型模式的7种也介绍完了,加上创建型模式,已经介绍过13种模式。今天咱们开始介绍行为型模式的11种,而第一个要介绍的就是“模板方法模式”。行为型模式重点在于对行为方法的使用。
“模板方法模式”主要是“模板”的设定。
通常我们取解决某件事情,或者完成一项工作,必须一步一步完成,而有的事情必须按照固定流程完成,而这以固定流程便是我们要完成的行为方法的模板,无论是多少的实现类,最终都要按照我们设定好的模板执行下去。
抽象类“AbstractClass”设定了模板步骤“TemplateMethod()”,并且规定了每一步骤方法的实现方式:“doOperation1()”和“doOperation2()”两个抽象方法,以及一个“odOperation3()”私有最终方法(private final)。
实现步骤方法1和步骤方法2,无论怎么实现,最终还要调用“模板方法”执行固定流程。
就像已经挖好81个坑,有人来跳就可以了。而这挖好的81个坑,就可以用咱们的模板方法模式来体现。
金蝉遭贬第一难, 出胎几杀第二难, 满月抛江第三难, 寻亲报冤第四难, 出城逢虎第五难, 落坑折从第六难, 双叉岭上第七难, 两界山头第八难, 陡涧换马第九难, 夜被火烧第十难, 失却袈裟十一难, 收降八戒十二难, 黄风怪阻十三难, 请求灵吉十四难, 流沙难渡十五难, 收得沙僧十六难, 四圣显化十七难, 五庄观中十八难, 难活人参十九难, 贬退心猿二十难, 黑松林失散二十一难, 宝象国捎书二十二难, 金銮殿变虎二十三难, 平顶山逢魔二十四难, 莲花洞高悬二十五难, 乌鸡国救主二十六难, 被魔化身二十七难, | 号山逢怪二十八难, 风摄圣僧二十九难, 心猿遭害三十难, 请圣降妖三十一难, 黑河沉没三十二难, 搬运车迟三十三难, 大赌输赢三十四难, 祛道兴僧三十五难, 路逢大水三十六难, 身落天河三十七难, 鱼篮现身三十八难, 金兜山遇怪三十九难, 普天神难伏四十难, 问佛根源四十一难, 吃水遭毒四十二难, 西梁国留婚四十三难, 琵琶洞受苦四十四难, 再贬心猿四十五难, 难辨猕猴四十六难, 路阻火焰山四十七难, 求取芭蕉扇四十八难, 收缚魔王四十九难, 赛城扫塔五十难, 取宝救僧五十一难, 棘林吟咏五十二难, 小雷音遇难五十三难, 诸天神遭困五十四难, | 稀柿衕秽阻五十五难, 朱紫国行医五十六难, 拯救疲癃五十七难, 降妖取后五十八难, 七情迷没五十九难, 多目遭伤六十难, 路阻狮驼六十一难, 怪分三色六十二难, 城里遇灾六十三难, 请佛收魔六十四难, 比丘救子六十五难, 辨认真邪六十六难, 松林救怪六十七难, 僧房卧病六十八难, 无底洞遭困六十九难, 灭法国难行七十难, 隐雾山遇魔七十一难, 凤仙郡求雨七十二难, 失落兵器七十三难, 会庆钉钯七十四难, 竹节山遭难七十五难, 玄英洞受苦七十六难, 赶捉犀牛七十七难, 天竺招婚七十八难, 铜台府监禁七十九难, 凌云渡脱胎八十难, 通天河遇鼋湿经书八十一难 |
由于坑太多,我们把这八十一难放在一个Content的文件中,利用io流读取出来。
这样我们先建立一个“取经人”的接口以为模板。
规定了取经人必须走的流程。
实现一个唐僧,让他取过81个坑。
最终,调用模板方法,完成流程。
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材