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模板的主旨。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值