`

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

 
阅读更多

模板模式总结篇

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

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

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

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

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

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

总结模板模式定义:

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

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

二:角色

抽象的基类

实现某些具体步骤的子类

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

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

三:使用场景

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

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

四:优缺点

优点:

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

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

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

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

缺点:

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

需要注意的地方:

 

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

 

分享到:
评论

相关推荐

    23种设计模式_实用

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

    有关个人学习总结模板锦集八篇.docx

    独立生活的开始、学习模式的变革以及社团活动的参与,这些体验构成了大学生自我发展的重要篇章。本文集将结合作者的个人学习总结和大学生活体验,探讨这些变化对个人成长的影响和意义。 在大学生活中,独立自主是每...

    关于小学语文教学总结模板汇总六篇.docx

    本文集合了六篇关于小学语文教学总结的模板,旨在为教师们提供一个可以参照的框架,以促进教学质量和学生学习效果的双重提升。 首先,了解学生是进行有效教学的基础。教师需要全面把握学生的个性特点,了解他们的...

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

    同时,教师应创设新颖的教学情境,使之与学生的日常生活紧密联系,从而增强学生的学习兴趣。此外,教师还需强化课堂组织能力,优化板书设计,并提高教学反思的实效性,以此来提升课堂教学的整体质量。 课堂教学是...

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

    实习教师应该把总结作为反思和成长的工具,通过回顾实习期间的教学活动,系统性地分析自己的表现,找寻教学过程中的亮点和不足之处。在总结中,教师需结合具体的教学案例,如课堂互动、学生反馈等,进行深入分析,这...

    教学设计方案模板锦集5篇.docx

    本次提供的【教学设计方案模板锦集5篇.docx】文档,为教育工作者提供了一套针对小学语文课程的教学方案,特别是围绕秋天主题的课文教学,为教师们提供了一个全面、具体、操作性强的教学参考。 首先,该教学设计方案...

    2021学校数学老师训练教学总结模板五篇.docx

    同课异构的教学模式,使不同教师授课同一课程时展现各自的风格和方法,这种做法能够促使教师思考如何优化自己的教学设计。在数学教学中,教师可以通过观看其他教师如何处理同样的数学问题,从而获得灵感,改进自己的...

    关于教师小学述职报告模板汇编5篇.doc

    通过对上述五种模板的综合运用,小学教师可以在述职报告中全面而详细地总结自己的工作经历,展现专业素养和对教育事业的贡献。这样的述职报告不仅能够为教师的自我提升和职业发展提供指导,同时也有助于教育管理者和...

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

    《教师小学述职报告模板汇编8篇.docx》记录了八篇小学英语教师在教育教学实践中的深入思考和宝贵经验,它们不仅是教师个人教育理念和教学实践的总结,更是提升小学英语教学水平的重要参考。 首先,教师们在报告中...

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

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

    实用的教师述职报告模板汇编7篇.docx

    本文将结合《实用的教师述职报告模板汇编7篇.docx》中所涉及的七个关键点,逐一展开论述,探讨如何撰写一份高质量的教师述职报告。 敬业精神是教师职业道德的基石。一个教师是否具备敬业精神,直接关系到其教学质量...

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

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

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

    本文结合了五篇个人述职报告的模板,旨在帮助教师在撰写时能够更加规范、系统,同时,通过对五篇报告的分析,我们也可以了解到当前教师在教学实践中的创新方法与策略。 以语文教学为例,教师在述职报告中分享了多种...

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

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

    关于学生会的个人述职报告模板汇编8篇.docx

    在个人述职报告中,生活部部长的总结尤为引人注目。生活部部长的工作直接关系到学生的日常生活和健康。因此,对于该职务的担当者来说,耐心、热情和责任心是不可或缺的品质。在报告中,生活部部长强调了与学生生活...

    教师小学述职报告模板10篇.doc

    本文将依据《教师小学述职报告模板10篇.doc》中所体现的核心要点,深入探讨这些要点如何在实际教学中得以实现,并对学生发展和教师成长产生的影响。 首先,“以人为本”的教育理念是教师述职报告中不可或缺的一部分...

    工作述职报告模板15篇.docx

    在报告中,教师可以详细说明自己是如何在教学设计中融入这些元素的,以及这些方法对学生学习效果的具体影响。 在教学过程中实施**问题导向**的教学策略,教师应鼓励学生提出问题,并引导他们进行质疑和探究。教师应...

    年度教师个人述职报告模板合集八篇.doc

    本文旨在通过分析【年度教师个人述职报告模板合集八篇】,提炼出教师一年来辛勤工作的精华,展示其在教学、班级管理、个人成长等多方面的努力与成果,并探讨其中可能遇到的困难和挑战。 首先,角色的转变与适应是每...

    去广告公司实习报告模板五篇.pdf

    本篇实习报告通过五篇模板,详细记录了一位大学生在广告公司实习的整个过程。实习内容涉及广告设计、公司运营、团队协作等多个方面,使实习生对广告行业有了更全面的认识和深入的了解。 实习经历部分,作者详细叙述...

Global site tag (gtag.js) - Google Analytics