穿越时间的蛀洞——书评《Java企业设计模式》
穿越时间的蛀洞 |
|||
熊节
(本文首发于《中华读书报》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企业设计模式》相关推荐
- Java企业实训 - 01 - Java前奏
前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...
- [附源码]计算机毕业设计JAVA企业员工管理系统
[附源码]计算机毕业设计JAVA企业员工管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
- 2023计算机毕业设计SSM最新选题之java企业物资管理系统h3109
2023计算机毕业设计SSM最新选题之java企业物资管理系统h3109 在做计算机程序的时候首先第一步就是要先吧主题弄清楚,到底是需要用什么主题去做程序,这个是最重要的一步,只有吧主题确定好了,那题 ...
- [附源码]计算机毕业设计JAVA企业人力资源管理系统
[附源码]计算机毕业设计JAVA企业人力资源管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(In ...
- [附源码]计算机毕业设计JAVA企业记账系统
[附源码]计算机毕业设计JAVA企业记账系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intell ...
- java 企业网站源码模版 屏幕自适应 有前后台 springmvc SSM 生成静态化
java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 前台: 支持三套模版, 可以在后台切换 点击:获取地址 QQ 313596790 官网 http://www.fha ...
- 企业hr管理java,hr Java 企业人事管理系统,利用SSH模式进行开发,能满足一般 的得需求。 Develop 238万源代码下载- www.pudn.com...
开发工具: Java 文件大小: 880 KB 上传时间: 2015-03-17 下载次数: 4 提 供 者: 王金元 详细说明:Java 企业人事管理系统,利用SSH模式进行开发,能满足一般企业的得 ...
- Java企业面试题及答案资料大全
Java企业面试题及答案资料大全,想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢? 本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的 ...
- Java企业微信会话存档开发(从跳坑到爬坑)
Java企业微信会话存档开发(从跳坑到爬坑) 本文仅作为方便首次开发企业微信使用 文章目录 Java企业微信会话存档开发(从跳坑到爬坑) 前言 一.开发准备 1.企业微信后台配置 2.sdk下载 3. ...
最新文章
- 网摘精灵教程:网摘自动提交工具。
- 使用win32 API 下载文件
- 3d 强制添加脚本_每日学点---Jenkins执行脚本权限问题
- amd一键超频怎么用_头条信息流“一键起量”工具怎么用?经验分享
- 《West Game》入围收入Tpo30的背后,SLG游戏新机会在哪?
- excel分段排序_学会这个神操作,报表填报不再五花八门,效率远超Excel
- Entity Framework Core 3.1 和 Entity Framework 6.4 发布
- 通过系统表获取SQL,Access,Oracle数据库的元数据信息
- 1流式细胞术荧光比值计算_浅谈流式细胞仪的工作原理和应用
- POJ 1236 Network of Schools(强连通 Tarjan+缩点)
- Maven 父子工程出现 [ERROR] 'dependencies.dependency.version' for xxxjar is missing. 问题
- 华为和荣耀蓝牙耳机为什么那么贵?
- 评:我从编程中悟出八个字(不算原创,不过希望让大家能看看)
- 快到起飞 | PP-LCNet在CPU上让模型起飞,精度提升且比MobileNetV3+快3倍
- SOAOffice和iWebOffice、NTKO的比较及其优势(转)
- LintCode 交叉字符串
- Html代码问题:用鼠标悬停在文字上文字的颜色就变颜色的效果
- Qt QLabel样式表总结
- setdbprefs matlab,matlab数据导入与导出
- firefox os : firefox os vs android