结构型模式就这么结束了,行为型模式就这么开始了。

首先就是最简单最容易最常用的Template Method模式。
我们怎么定义 Template Method模式呢?简单来说,就是先定义一个骨架(框架开发者),然后具体的应用去实现(应用程序开发人员)这样一个骨架的具体内容,这就是模板方法模式(Template Method).
在生活中的例子也有很多。我们上了大学学了一门专业课,比如汽车设计。那么我们课本以及老师教给我们的知识,就是 Template,基础知识,框架知识。当我们毕业后被丰田汽车,本田汽车,东风汽车雇佣了以后,我们设计出了具体汽车,那么就是具体的应用实现。因为汽车设计的基本知识就是那样,都得考虑安全性,扭矩,省油,环保标准等等。但是,具体的要做成什么样,就要看具体公司的具体商务需求了。

例子可能举的不是很恰当,希望可以给大家一些启发和想法,如果大家有更好的例子,希望不吝赐教。

在具体实现中,小技巧是:把构成Template Method模式的虚方法写成protected的,把使用这些虚方法的方法写成public的。在主流的开发框架中,这个模式几乎比比皆是。这样的一个简单的复用结构,在代码复用的过程中又有变化的需求,这个时候使用模板方法模式是最合适不过的了。它简单,容易使用并且使用广泛,真是居家旅行,程序设计必备之良方。它是一个非常基础的设计模式,简单但是重要。在我看来,它就是一个多态技术的基本应用。don't call me,let me call you这样一个反向结构是Template Method方法的典型应用。

一言以蔽之,模板方法模式就是利用继承和多态进行简单的代码复用和应对具体应用变化的结构。

欢迎拍砖,谢谢大家。

转载于:https://www.cnblogs.com/GodSpeed/archive/2008/12/27/1363574.html

白话设计模式--行为型模式--Template Method模式(模板方法模式)相关推荐

  1. 模板方法模式 Template method 行为型 设计模式(二十六)

    模板方法模式 Template method 上图为网上百度的一份简历模板截图 相信大家都有求职的经历,那么必然需要简历,写简历的时候,很可能你会网上检索一份简历模板,使用此模板的格式,然后替换为你的 ...

  2. JAVA设计模式(14) —行为型模板方法模式(Template Method)

    1 定义: 模板方法模式(Template Method) Define the skeleton of an algorithm in anoperation, deferring some ste ...

  3. Template Method(模板方法)--类行为型模式

    Template Method(模板方法)–类行为型模式 一.意图 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的 ...

  4. 设计模式之模板方法模式(Template Method Pattern)

    模式的定义与特点 模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤.它 ...

  5. java 模板方法_设计模式(java实现)_模板方法模式(Template method)

    设计模式(java实现)_模板方法模式(Template method) 模板方法模式是编程中经常用到到的模式.它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现.这样,新的子类可以在不改变一个 ...

  6. 模版方法模式/Template Method

    模版方法模式/Template Method 意图/适用场景: 模版方法模式其实是一种应用很广泛的模式,特别是在使用抽象类的时候. 模版方法模式中必然有一个核心的抽象类,不能是接口.声明一些抽象方法, ...

  7. [设计模式-行为型]模板方法模式(Template Method)

    一句话 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中. 概括 解析 看过<如何说服女生上床>这部经典文章吗?女生从认识到上床的不变的步骤分为巧遇.打破僵局.展开追求.接吻.前戏.动 ...

  8. 【设计模式】行为型02模板方法模式(Template Method Patten)

    五一长假,没有出去,不喜欢嘈杂的人群,玩了会游戏发泄了下憋在心底的戾气,手旁大马克杯里是母亲泡的绿茶.点开自己的播放列表,耳机里传来的是理查德克莱德曼的致爱丽丝.自己是个凡人,卑微渺小的活着.不说废话 ...

  9. 设计模式之模板方法模式(Template Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

最新文章

  1. 解决NGUI中sprite的边缘会出现黑线的问题
  2. LaTeX 图片插入
  3. # 日期待t_2020最值得期待的几款新车
  4. TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344 作者简介:汪剑,现在在出门问问负责推荐与个性化。曾在微软雅虎工作,
  5. PHP前端和数据库的连接
  6. bootstrap 打印组件_创想三维:有了3D打印机,后期该如何维护呢-创想三维 Ender-1_深圳3D打印机行情...
  7. ServerSuperIO Designer IDE 发布,打造物联网通讯大脑,随心而联。附:C#驱动源代码。
  8. python3+requests:get、post请求(python get、post)
  9. python numpy Quickstart tutorial之set_printoptions
  10. 宁德时代拟定增募资不超582亿元,用于锂离子电池项目等
  11. 95-190-642-源码-窗口操作符-EvictingWindowOperator
  12. linux----LAMP之编译安装apache
  13. C++ 智能指针后面 . 与 -> 运算符的一点体会
  14. GPS Programming Tips for Windows Mobile
  15. [工具]实现文件夹和文件名称批量修改
  16. 如何给多段视频制作一行滚动字幕,并添加GIF表情包
  17. 资产类别某一类折旧查询
  18. pytorch 基本数学运算
  19. HTML中属性问题以及通信问题总结
  20. linux红帽子安装驱动,安装红帽子使用有megaSR swraid驱动程序和OS推进指点的嵌入式SATA控制器常见设备使用情况的...

热门文章

  1. sql科学计数法转换为普通数字_Python3数据类型之数字-Python入门到精通
  2. 计算机科学与技术做什么实验,计算机科学与技术专业实验教学大纲
  3. 基于php程序系统设计,PHP程序静态分析系统的设计与实现
  4. 在java 中调c_在Java中调用C
  5. html 标签 anki,为什么不建议使用Anki模板里的标签?
  6. tp5.0 php版本,ThinkPHP v5.0.2官方下载-ThinkPHP v5.0.2 完整版官方最新版-东坡下载
  7. 奔图龙芯计算机认证报告,龙芯3A 1500 3U VPX加固计算机
  8. php中new与构造函数,php - 在构造函数中使用“ new”关键字 - SO中文参考 - www.soinside.com...
  9. idea通过数据库生成实体类插件_idea数据库生成实体类
  10. rip java_JavasScripV1.0.htm