书评:使用Spring,Hibernate和Eclipse进行敏捷Java开发。

书评:使用Spring,Hibernate和Eclipse进行敏捷Java开发。 马特·莫顿

抽象:

Java是否可以像Dynamics(Ruby,Python,Groovy)一样敏捷?

敏捷是一种软件开发趋势,许多开发人员都对学习感兴趣,如果他们还没有使用它的话。 “使用Spring,Hibernate和Eclipse进行敏捷Java开发”中 ,Anil Hemrajani尝试将敏捷实践与Java和旨在简化Java开发的几种开源工具集(Spring,Hibernate,Eclipse)联系起来。 从本质上讲,它概述了使用其设计中被认为“轻巧”但仍需要强大的技术的Web应用程序开发中使用的许多免费技术。

总览

什么是敏捷?

本质上,“敏捷开发”是指使用一组特定的理想作为准则来创建代码的方式。 这些理想在《 敏捷宣言》中列出。 它们可以通过以下四个构造来概括:

  • 个人与流程和工具之间的互动
  • 通过全面的文档工作软件
  • 客户合作而非合同谈判
  • 响应计划变更

敏捷软件开发具有广泛而深刻的含义,涵盖了许多主题和概念。 请参考敏捷联盟以获取有关敏捷原则和实践的更多信息的链接。

这本书是给谁的?

使用Spring,Hibernate和Eclipse进行敏捷Java开发为我们提供了Anil Hemrajani亲自为Java开发人员开发的敏捷开发方法。 如果要详细解决本书的每个主题,这本书的范围实际上会很大。 它允许随意阅读,而实际上却提供了使用Spring,Hibernate和Eclipse在最低级别进行开发所需的一些信息。 本文的主要读者可能是那些领导者以及尚未完全进入Spring / Hibernate开发的人员。

我为什么感兴趣?

我已经开发软件已有一段时间了,主要的问题似乎是将简单但有效的开发过程转移给其他开发人员的能力。 本书的书名之所以引起了我的注意,是因为它试图合并敏捷开发方面的内容,我对此表示赞同并喜欢一些颠覆市场的技术,例如Spring,Hibernate和Eclipse。 我也在我工作的大学任教,当我尝试解释与许多动态语言(例如Ruby(或Ruby on Rails)相比时,如何以敏捷方式使用Java时,我变得有些失望)或Python和PHP。 Java开发生命周期中的大部分过程都基于3年前或更早设计的框架。 Spring Framework特别以更敏捷的方式支持Java开发。 这本书引起了我的兴趣,因为它的书名声称它试图通过许多新技术展示敏捷实践。

内容相关性

我已经在各个层次上与Spring框架合作了大约2年,我发现其中的材料很好地提醒了我为什么喜欢使用它。 除Eclipse外,关于如何设置这些产品的知识通常很少。 大部分设置留给读者自己弄清楚。 因此,如果您不知道如何将库添加到Ant编译任务中,那么实际遵循一些示例可能会遇到麻烦。 但是从发行商处下载的代码相对完整,因此其中也有很好的示例。 对于尚未真正研究什么是控制反转(IoC)及其优势的开发人员,有关依赖项注入的部分是一个很好的概述。 IoC是一种设计模式,其中通过将依赖项“注入”到调用对象的执行空间来指定bean关系。 请参阅Martin Fowlers的网站以获取更详细的解释。

特定框架上的大多数内容都是有用的,但可能已过时。 Spring和Hibernate都准备发布主要版本,并且许多配置已更改。 实际上,要及时了解这些框架的许多方面是非常困难的,因为它们变化很快。 这就是作者给出的不包含太多设置信息的原因。

对读者来说,最有用的内容是作者用来开发示例应用程序的简单过程。 从XP和AMDD的选定实践(敏捷建模,敏捷设计,敏捷开发)开始,作者开始为示例应用程序构建领域模型。 然后,他使用CRC卡和用户案例指导读者完成该过程。 实际上,这对于查看其他人如何实现敏捷概念非常有用。 许多开发商店对敏捷的各个方面都有不同的解释,因此对它们的实现也有所不同。 最好与其他人一起检查您的过程。 我想这就是敏捷用户组的目的。

几年前,当进入软件开发项目时,绘制此路径有时是开发过程中最困难的部分。 这些早期的章节将更好地理解至少一种有用的方法。

关于敏捷方法论的写作通常缺乏关于如何与团队一起真正使用这些技术的讨论。 关于XP的部分没有很好地解释XP包含的内容,因此读者可能会觉得XP只会影响设计过程,而不会影响编码过程。 XP的一些概念已通过测试在编码章节中进行了演示,但是XP确实包含了更多的概念。 关于此的说明可能有助于防止对于刚开始使用XP的开发人员造成混淆。

关于调试的一章对于使用Eclipse工具进行Web应用程序调试非常有用。 我以前在Eclipse中为Web应用程序使用过调试,但仍然学到了一些新知识。 我注意到的一件事是其他书籍中完全没有这种信息。 至少有人提到并显示它是一个好习惯。 有关如何调试示例应用程序的一些详细步骤,对于刚从Java Web开发开始的开发人员将非常有用。

第10章包含一些高级Ant任务的相关信息,但是Java 5的部分似乎更像是一本高级指南。 如果经理正在寻找概述,这可能对他们有用,但是对于开发人员来说,它不够深入,并且可能不属于该领域。 本章中有关Spring和Hibernate的高级部分应该已经包含在这些产品的各章中。 这样可以使书本流向更好,并为信息提供更好的索引。 重构部分可以很容易地做成自己的章节。 除了指向其他信息的指针之外,我将不再仅仅依靠它。

令我感到兴奋的一件很酷的事情是Safari在线版提供45天的免费使用。 不幸的是,它无法正常工作。 我去了网站并按照说明进行操作,无法进入。真正令人毛骨悚然的是,您必须输入个人信息并提交。 希望他们不只是收集电子邮件地址。

可读性

总体而言,这本书可读性强,风格独特。 在一些地方列出了似乎不必要的个人意见和评论。 例如,在UML上有整页,看起来似乎放错了地方。 我认为,大多数读者对如何解决问题比是否应该使用特定工具更感兴趣。

程式码范例

我对示例应用程序不满意的一件事是缺少真正的数据访问对象(DAO)。 我一直认为,一套好的DAO非常重要,以便允许稍后将应用程序的一部分转换为API或库,并进行一些重构。 该代码非常简单,仅开发了基础知识,但在作为Web应用程序执行时确实可以运行。 同样,本案例的目的是展示如何针对特定业务问题采用敏捷方法。 在Spring和Hibernate中已经有很多经验的人可能会发现它有些多余,但是对这些框架不熟悉的开发人员会发现它们非常有用。

摘要

总的来说,我确实喜欢这本书,并认为这对那里的特定开发人员很有用。 尽管具有辅助功能,但它还是可读的,并且过程非常合理。 它以非正式的形式呈现,而不是以某种教科书形式呈现,我认为这是一个加号。 可能已经扩展了某些领域,例如重构和高级Spring和Hibernate页面。 它具有简单,有效的代码示例,可以帮助该主题的新手,并且总体而言,本文编写得井井有条。

尽管作为使用这些Java工具的指南很有用,但它并没有回答我关于Java是否像任何动态语言一样敏捷的问题,但是免费工具集的确使它比以往更加容易和敏捷。

翻译自: https://www.infoq.com/articles/Book-Review--Agile-Java-Devel/?topicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值