Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 也谈谈Spring中的Template和Callback模式
【标  题】:也谈谈Spring中的Template和Callback模式
【关键字】:Spring,Template,Callback
【来  源】:http://blog.csdn.net/fuliangliang/archive/2007/04/18/1568810.aspx

也谈谈Spring中的Template和Callback模式

Your Ad Here   前几天在javaeye论坛,看有人谈论Spring中的Callback模式和Template模式,我以前也提到过SpringJdbcTemplate中使用的Callback , 自己回来想了想,总结一下自己的想法。

Spring中的Callback模式与Template模式合用,随处可见。Template method被广泛的使用,像Servlet就是使用这个模式。Template mothod模式虽然能简化很多重复的代码,但这种模式的也有不少限制。Template mothod将一个功能的实现分成许多小的步骤,在父类中定义了这些步骤的顺序,让子类来具体实现每一个小的步骤。这些小的步骤是protected,以防止用户不正确的使用这些小的步骤而产生异常。这样就产生了一个限制,那就是你需要继承Template然后重新实现具体的小步骤。如果这个Template有许多方法,就像JdbcTemplate,如果你每次继承这个庞大的类,然后只是重写某个小步骤中来订制你自己的功能,就会显得非常笨重,更何况数据库操作使用的如此频繁,难道你每进行一个操作就通过继承订制一个,显然不可能这么做。

Spring使用Callback模式与之配合,达到了去掉重复代码的效果,同时增加了很大的灵活性,你只需要实现某些CallBack就可轻松订制出Template

那么什么时候才是Callback模式与Template模式结合的最佳时机呢。显然如果每个具体的步骤都需要真正去具体实现而不是简单的改变参数或设置某个对象就ok的话,使用Callback很难去订制,因为你可能需要传递多个Callback作为参数,并让用户去实现,是用Java的内部类本来就是一个比较丑陋的语法,更何况参数是多个。这相当于你把每个小步骤封装成为接口,然后分别继承之然后实现。显然没有达到方便灵活的效果,这时候直接使用Template method模式就比结合Callback要好。而如果用户只需要定制一个方法能就达到用户的要求,或者更简单,只是设置不同的参数,那么使用Callback就具有很好的灵活性。

系统架构设计(转贴):【上一篇】
Java api详解:【下一篇】
【相关文章】
  • 关于spring+hibernate中的单元测试问题
  • 比较Template method、Strategy和Builder模式随想
  • 在weblogic中使用spring查找hibernate映射文件的陷阱
  • org.springframework.beans简单解读
  • Spring学习笔记1
  • 我们如何学习Spring 2.0
  • JSF+Hibernate+Spring学习
  • hibernate+spring的一个简单分页实现
  • 一个关于spring+hibernate的例子
  • 用 Spring MVC 轻松进行应用程序开发
  • 【随机文章】
  • 准确测试脚本执行时间
  • 批量表结构提取和批量建表(引用)
  • 信息安全管理BS7799
  • C/C++学习----导读
  • linux下的防火墙
  • JavaScript应用:Iframe自适应其加载的内容高度
  • C语言几个精典的测试题
  • j2me效率问题
  • c#操作文本文件
  • 我用2003架设的服务器,运行论坛都可以
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.