穿越时间的蛀洞

熊节
(本文首发于《中华读书报》2003年12月17日号)

  对瓦尔特·本雅明来说,时间不是一以贯之的连续体,而是充满着裂缝和捷径——不妨说是“蛀洞”。过往的幽灵总会挑选一个时刻在当前复活,历史以群星灿烂的格局星罗棋布。为这种神秘的论调提供支持的不仅有史料和呈螺旋状的流行风潮,也包括了各种各样的书籍:两本素昧平生的书,其间的联系或许胜于它们各自书架上的邻居;一位突如其来的异乡人,或许能唤起读者最熟稔的记忆。

  譬如那本《应用服务器原理与实现》(电子工业出版社2003年6月),在两位朋友的推荐之下,我从新华书店一贯混乱的货架上找到了它。显然,它的出版者看中的是日益升温的J2EE热潮,但阅读它却让我更多地想起潘爱民老师1999年推出的《COM原理与应用》。一个足够热门的话题,加上足以令老读者倍感亲切的内容。唯一的遗憾是:这位可敬的作者似乎乐于用这些弥足珍贵的素材写出一本红头文件。使徒保罗对柯林斯人说:“舌头若不说容易明白的话……就是向空中说话了。”也许“向空中说话”正是作者的愿想?

  而这本《Java企业设计模式》(Java Enterprise Design Patterns,电子工业出版社2003年8月)应该算是购买前一本书时的意外收获——新华书店的意外收获,这俨然是一个矛盾修辞了。像一条时光隧道,它连接起的另一端是2001年5月——我痴醉于设计模式的日子。一本新书却成了久别重逢的旧友,勾起了恍若隔世的记忆。不知道有多少人读过Patterns in Java的前两卷(这本《Java企业设计模式》是第三卷),至少在我这里,比起混迹于《Java设计模式》、《模式与Java》……之类书名中无法辨认的中译名,Mark Grand的名字更足以吸引我的目光和购买欲望。

  在J2EE的话语甚嚣尘上的日子里,这本书的语词也如同一位穿越时空的异乡人,散发着脱世孑立的高傲,并因此显得与时代格格不入。例如全书最复杂的“持久层”(Persistence Layer)模式,恐怕读者需要花一点时间才会发现它其实正是“数据访问对象”(Data Access Object,DAO)模式和一些基础设施的结合物;而“会话对象”(Session Object)模式早已是J2EE应用服务器内建的功能。在Mark Grand的眼中,J2EE没有任何特殊地位,《Java企业设计模式》直接深入了Java企业级应用的底层技术(事务、并发、分布式、持久化)。如果把这些底层机制视为应用服务器的领地,那么这本书甚至可以成为理解J2EE应用服务器的地图。

  另一方面,绕开语词的障碍,应用开发者也不难在这里找到自己熟悉的坐标——陌生的语词也许像异乡人口里的格言,异域的风情在突兀之中给你留下深刻的印象,但追根溯源却可能发现这格言竟是从自己的语言中翻译过去的。C. Alexander说,模式是解决常见问题的方案。浸淫企业级开发二十余年的经验,虽然使Mark Grand的语词略显陈旧,却保证了他收录的模式直指企业应用最常见的问题,从而使这本容量有限的模式集具有了最大化的价值。而且,夜深人静时,这种时空的错位反倒给了我一种新奇的阅读体验:虽然书中的“旧”符码在日新月异的技术领域显得有点不合时宜,但符码的所指却是我在J2EE应用中不时遇到的“新”问题。媒介与内容之间强大的张力,让手中的书成为了“最熟悉的陌生人”——Java人爱打趣地说“there's nothing new under the SUN”,在这里真是一语成谶。

  在那本Expert One-to-One J2EE Design and Development里,Rod Johnson有一个精辟的论断:一个优秀的Web应用首先必须是一个优秀的J2EE应用,而一个优秀的J2EE应用首先必须是一个优秀的Java应用。念及此,在J2EE的信息潮涌中拼命挣扎的开发者们大概可以给自己一个理由,暂时忘却那些令人生畏的三字母、四字母缩写词,穿越时间的蛀洞回到那个古雅的时代,用别一种的眼光来看待自己的“J2EE问题”——Mark Grand的Patterns in Java系列,尤其是这本《Java企业设计模式》,应该是一位合格的旅伴。

穿越时间的蛀洞——书评《Java企业设计模式》相关推荐

  1. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  2. [附源码]计算机毕业设计JAVA企业员工管理系统

    [附源码]计算机毕业设计JAVA企业员工管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...

  3. 2023计算机毕业设计SSM最新选题之java企业物资管理系统h3109

    2023计算机毕业设计SSM最新选题之java企业物资管理系统h3109 在做计算机程序的时候首先第一步就是要先吧主题弄清楚,到底是需要用什么主题去做程序,这个是最重要的一步,只有吧主题确定好了,那题 ...

  4. [附源码]计算机毕业设计JAVA企业人力资源管理系统

    [附源码]计算机毕业设计JAVA企业人力资源管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(In ...

  5. [附源码]计算机毕业设计JAVA企业记账系统

    [附源码]计算机毕业设计JAVA企业记账系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intell ...

  6. java 企业网站源码模版 屏幕自适应 有前后台 springmvc SSM 生成静态化

    java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 前台: 支持三套模版, 可以在后台切换 点击:获取地址   QQ 313596790 官网 http://www.fha ...

  7. 企业hr管理java,hr Java 企业人事管理系统,利用SSH模式进行开发,能满足一般 的得需求。 Develop 238万源代码下载- www.pudn.com...

    开发工具: Java 文件大小: 880 KB 上传时间: 2015-03-17 下载次数: 4 提 供 者: 王金元 详细说明:Java 企业人事管理系统,利用SSH模式进行开发,能满足一般企业的得 ...

  8. Java企业面试题及答案资料大全

    Java企业面试题及答案资料大全,想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢? 本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的 ...

  9. Java企业微信会话存档开发(从跳坑到爬坑)

    Java企业微信会话存档开发(从跳坑到爬坑) 本文仅作为方便首次开发企业微信使用 文章目录 Java企业微信会话存档开发(从跳坑到爬坑) 前言 一.开发准备 1.企业微信后台配置 2.sdk下载 3. ...

最新文章

  1. 网摘精灵教程:网摘自动提交工具。
  2. 使用win32 API 下载文件
  3. 3d 强制添加脚本_每日学点---Jenkins执行脚本权限问题
  4. amd一键超频怎么用_头条信息流“一键起量”工具怎么用?经验分享
  5. 《West Game》入围收入Tpo30的背后,SLG游戏新机会在哪?
  6. excel分段排序_学会这个神操作,报表填报不再五花八门,效率远超Excel
  7. Entity Framework Core 3.1 和 Entity Framework 6.4 发布
  8. 通过系统表获取SQL,Access,Oracle数据库的元数据信息
  9. 1流式细胞术荧光比值计算_浅谈流式细胞仪的工作原理和应用
  10. POJ 1236 Network of Schools(强连通 Tarjan+缩点)
  11. Maven 父子工程出现 [ERROR] 'dependencies.dependency.version' for xxxjar is missing. 问题
  12. 华为和荣耀蓝牙耳机为什么那么贵?
  13. 评:我从编程中悟出八个字(不算原创,不过希望让大家能看看)
  14. 快到起飞 | PP-LCNet在CPU上让模型起飞,精度提升且比MobileNetV3+快3倍
  15. SOAOffice和iWebOffice、NTKO的比较及其优势(转)
  16. LintCode 交叉字符串
  17. Html代码问题:用鼠标悬停在文字上文字的颜色就变颜色的效果
  18. Qt QLabel样式表总结
  19. setdbprefs matlab,matlab数据导入与导出
  20. firefox os : firefox os vs android

热门文章

  1. java 五子棋_Java GUI 单机版五子棋
  2. 实力在线,超久续航,电动车品牌排行前列的绿源当仁不让
  3. 2010nbsp;网络流行语考试题nbsp;(含答案)
  4. Github pages个人域名添加SSL
  5. 看了让人吐血的146个脑筋急转弯问题
  6. CentOS 7 下安装 Nginx
  7. 记录zoneminder搭建家庭监控全过程
  8. 苹果皮的小奥秘_拔剑-浆糊的传说_新浪博客
  9. 娱乐直播一对一交友APP源码,开发更多功能优化用户体验
  10. ES6字符串新增方法