`

设计模式之生活中的模板模式总结篇

 
阅读更多

模板模式总结篇

在上一篇《设计模式之模板模式引导篇》中,我们使用了泡咖啡和泡茶的日常小场景讲解了模板模式的原理。本篇,我们就结合这个小案例,来对模板模式进行总结。

本文出自《凯哥学设计模式》系列教程。作者:凯哥Java(kaigejava)

凯哥个人博客:www.kaigejava.com

一:模板模式定义(或内容)

在上一篇中,我们知道泡茶和泡咖啡都需要五个步骤。这五个步骤,其实就是算法骨架。

在具体是泡咖啡还是泡茶,是加牛奶还是加柠檬的时候,把这两个具体步骤延迟到具体真的子类中来实现了。这样就可以在不修改泡茶或泡咖啡的算法结构下,实现特定步骤。

总结模板模式定义:

先定义一个操作中的算法骨架,而将算法的某一个或者某些步骤的具体实现延迟到了子类中来实现,使得子类可以在不修改当前算法的结构情况下,重新定义当前算法的某些特定步骤。

模板模式属于行为模式的一种

二:角色

抽象的基类

实现某些具体步骤的子类

关键代码:公共的代码在基类中实现(如:烧水、倒入杯中、送个客人这三个步骤就在基类hotdrink中实现的)

其他步骤在具体子类中实现(如:是泡茶还是泡咖啡粉就是在具体的子类中实现的)

三:使用场景

在软件设计中,有些功能很类似,只是在某些环节不同而已。大多数环节都是相同的时候,可以使用模板模式。

将通用的算法或者步骤抽取到抽象类中,在具体子类中实现具体特定的操作

四:优缺点

优点:

封装不变的部分,将不变的部分抽取出来;

扩展可变部分,将可变的设置抽象方法,让具体子类来实现。

抽取的公共代码,便于后期维护

行为有基类来控制,具体操作有子类实现。

缺点:

每一个不同的实现都需要有一个子类来实现,这样就会导致类的数量大大的增加,使得系统更加庞大。

需要注意的地方:

 

为了防止算法骨架被恶意的破坏或者恶意的操作,一般在使用模板模式的时候,模板方法都会加上final这个关键字来限制。

 

分享到:
评论

相关推荐

    23种设计模式_实用

    总结:本文介绍了23种常见的设计模式,包括创建型模式、结构型模式和行为型模式。每种模式都提供了具体的意图、概述以及应用场景,帮助读者更好地理解和应用这些设计模式。通过掌握这些设计模式,开发者可以编写出更...

    教师个人工作总结模板集锦4篇.doc

    以下是对模板中提到的关键知识点的详细说明: 1. **教学总结的意义**:总结是教师自我成长的重要手段,它能帮助教师系统地了解过去的工作情况,评估成绩,发现差距,提炼教学经验和教训,以便于制定更有效的教学...

    精品工作总结模板范文-2017幼儿园年度工作总结.doc

    这篇工作总结模板聚焦于2017年某幼儿园的工作成就,涉及师资队伍建设、教研工作、保教工作和安全工作等多个方面,全面展示了该园一年来的辛勤努力和显著成果。 一、师资队伍建设 幼儿园重视教师的职业道德建设,...

    教师实习总结模板合集七篇.doc

    5. **新课程理念**:新课改强调合作、自主和探究学习,教师需适应新的教学模式,满足学生的需求,特别是解决他们在生活和学习上的困惑。 6. **教材研究**:深入理解新教材,挑选对学生有益的篇目进行教学,设计能...

    教师高级述职报告模板集合六篇.doc

    同时,论文鉴定成绩良好,积极参与教科研活动,如市级课题《综合实践活动设计模式的争辩》。 3. **教育理念与实践**:教师强调做科研型教师,注重理论与实践相结合,关注新课程理念,探索有效教学方法。例如,将...

    学生会生活部个人述职报告模板6篇.docx

    - **案例分析**:在组织冶金材料学院辩论赛的过程中,生活部成员不仅需要内部合作,还需要与其他部门、参赛选手等多方面进行沟通与协作。为了确保比赛的公平性和公正性,必须通过不断调整策略、明确分工来建立和维护...

    大学支队工作总结——立体动态PPT模板.pptx

    这篇文档标题为“大学支队工作总结——立体动态PPT模板.pptx”,主要涵盖了某大学支队在2011年7月的工作总结,内容包括行政工作、院系工作、协会与学生工作以及校友会工作四个方面,同时也提及了团省委的相关工作。...

    教师高级述职报告模板集锦7篇.docx

    【教师高级述职报告模板集锦】是一份包含7篇教师高级述职报告的文档,主要针对教师在职务晋升或年终总结时所需提交的报告提供参考。报告内容涉及教师的个人教育背景、工作经历、专业发展、教育教学成果以及对教育...

    大数据云计算互联网科技主题ppt模板.zip

    在实际应用中,这款PPT模板可用于科技报告、企业展示、学术演讲等多种场合,帮助讲述大数据和云计算在互联网时代如何改变我们的生活和工作,以及未来可能出现的趋势和挑战。通过精心设计的图表和案例,可以使复杂的...

    教师小学述职报告模板汇编8篇.docx

    4. **教学模式与方法**:提倡体验式、实践式、参与式和创造式的教学,让教学内容紧密联系生活,鼓励学生在实际操作中学习。例如,通过完成任务型活动,让学生在使用英语中学习,培养他们的创新思维。 5. **语言学习...

    关于关于个人述职报告模板合集五篇.docx

    这篇文档集合了五篇个人述职报告的模板,旨在帮助撰写者规范地完成报告。 在教学领域,报告中的教师以语文教学为例,分享了其在教学实践中运用的多种策略和方法,以提升学生的学习积极性和语文能力。 1. **重视...

    小学教师个人述职报告模板集合六篇.doc

    【小学教师个人述职报告模板集合六篇】 这篇文档是一份关于小学教师个人述职报告的集合,其中包含了多位教师对自己教学工作的总结和反思。这些报告强调了以下几个关键知识点: 1. **以爱育爱的教育理念**:教师们...

    关于教师述职报告模板集锦五篇.docx

    【教师述职报告】是教育行业中教师对其工作情况的总结与汇报,主要用于评估和提升个人的教学质量和管理水平。这篇文档集合了五篇不同的教师述职报告,涵盖了教育教学、行为习惯培养、家园共育以及保育工作等多个方面...

    课堂教学改革先进个人事迹材料总结报告模板.docx

    【课堂教学改革先进个人事迹材料总结报告模板】 这篇文档主要讲述了一位致力于课堂教学改革的校长,他在推动农村学校教育改革过程中的实践经验和个人事迹。这位校长深刻理解到,教学质量的提升直接影响到学生的成长...

    学校校长的年终述职报告模板汇编五篇.docx

    【文档标题】提到的是“学校校长的年终述职报告模板汇编五篇”,这是一份集合了五篇学校校长年终述职报告的文档,通常用于总结一年的工作成果、经验教训和个人感悟,便于向上级领导和同事展示工作成效。 【描述】...

    教师高级述职报告模板集合4篇.docx

    3. **教科研活动**:积极参与学校教科研工作,承担课题研究,如市级课题《综合实践活动设计模式的研究》,并在教学实践中应用,如撰写活动方案并参与学术研讨,不断提升自身的教育理论和实践水平。 4. **情感教育与...

    实用的个人教师述职报告模板集锦9篇.doc

    【个人教师述职报告模板集锦】是一份包含9篇文章的文档,主要针对教师年度工作进行总结和汇报。这些报告旨在展示教师在一年内的教育教学成果、班级管理、个人成长以及对学生的引导与帮助。以下是报告中涉及到的主要...

    教师工作述职报告模板汇总八篇.doc

    【教师工作述职报告模板汇总】主要反映了教师在教学工作中的自我评估和总结,涉及了教学方法、学生行为培养、教学评价以及教师职业道德等方面。以下是基于这些内容的重点知识点: 1. **综合实践活动教学**:强调以...

    骨干教师述职报告模板十篇.docx

    【骨干教师述职报告模板】是教育领域中一种重要的文档形式,用于教师个人对其工作成绩、专业发展和教学理念的总结与反思。这份报告通常包括教师的个人成长、教学实践、团队协作以及对教育事业的贡献等多个方面。以下...

Global site tag (gtag.js) - Google Analytics