`

Template模式

 
阅读更多

    这个模式2006年我就知道了,当时通过学习网络和书籍等相关资料,能够理解并写写示例代码,但2013年的今天被人问起来,想了想,脑子里一片空白,愣是一句没说上来,自己感觉真可笑,最后只能以“不记得了”作为答复,让我很纠结,纠结不已。其实平时项目中经常见到类似的实现,并且自己也常用该模式编写继承结构,但没有意识到在用Template设计模式,当然这听起来是借口,也确实是事实。闲话少说,进入正题。根据对Template模式的理解,简单画了画该模式的示意图:


 

Template模式特征:
1.父类,abstract类。根据业务需要定义抽象方法或已实现的方法。
2.子类,extend抽象类。实现抽象方法,通过在不同子类中抽象方法的不同实现来体现业务处理的不同。


HttpServlet应用Template模式(参考tomcat6.0.18),参见下图:


HttpServlet中的service方法就是combine方法,是负责处理多种请求方式的集合入口,根据不同的请求类型分发到不同的处理方法,包括doGet()doHead()doPost()doPut()doDelete()doOptions()doTrace()等几种方法,这几个方法都是protected类型。

 

编写自定义servlet时,通常首先继承HttpServlet类,然后实现doPost()doGet(),其中一个原因是虽然这两个方法在HttpServlet中被实现,但没做什么具体处理,需要子类来扩展实现。每个自定义servlet类中的doGet()和doPost(),根据业务的不同做具体实现,便于对父类的复用和子类的扩展,较好地体现了Template模板的主旨。

 

 

  • 大小: 6.9 KB
  • 大小: 11.6 KB
1
2
分享到:
评论

相关推荐

    策略模式 template模式

    策略模式(Template模式) 策略模式是设计模式中的一种 객체行为型模式,它定义了一系列算法,封装每一个算法,并使它们可以互相替换。策略模式使得算法可以独立于使用它的客户而变化。 概述 在软件开发中,经常...

    C++ Template模式

    模板模式是设计模式中的一种行为模式,它属于创建型设计模式,但更常被归类为结构型模式。在C++编程中,模板模式是一种处理相同算法不同实现的方式,它通过定义一个操作中的算法骨架,而将一些步骤延迟到子类中,...

    Java设计模式之模板模式(Template模式)介绍

    模板模式(Template Pattern)是设计模式中的一种行为模式,它提供了一种代码复用的方式,通过定义一个操作的框架,将具体的实现细节留给子类来完成。这种模式使得程序的结构更加清晰,同时也增强了代码的可扩展性。...

    template-matcher:lodash.template模式匹配提取到单独的模块中

    模板匹配器 模式匹配提取到单独的模块中安装npm install template-matcher --save用法 var matcher = require ( 'template-matcher' ) ;var matches = matcher ( '<div><input type="${attr}"/>${content}...

Global site tag (gtag.js) - Google Analytics