POJOs in Action 是一本关于使用POJO和轻量级架构开发企业Java应用的后台逻辑的实用的指南。这些技术的重要性在于其显著地简化了你如何建立一个应用的业务层和持久层。本书包含了重要的轻量级架构:Spring,JDO,Hibernate和iBATIS。由于EJB 3对于POJO的支持及其某些轻量级的特征,本书也将其涵盖其中。
以下为netflyer翻译的POJOs in Action前沿,来自(http://blog.matrix.org.cn/page/netflyer?entry=%E5%8E%9F%E5%88%9B%E7%BF%BB%E8%AF%91_%E5%AE%9E%E6%88%98pojo%E5%AF%B9%E8%B1%A1_pojos_in_action1).
前言
回到1999,我曾经狂热的拥护J2EE并开始使用servlets, JSP和EJB进行应用开发。尽管我对于那些架构不是批判论者,但是我发现通过那些新近知名的“简单初始Java对象(Plain Old Java Object -- POJO)可以使开发简化。例如,在表现层我可以写servlets委派给POJO对象。而在业务层我写session beans委派POJO对象,entity beans扩展POJO对象。使用POJO对象让我不必等到部署我的代码到服务器就可以进行测试。虽然POJO对象并不被servlet和EJB架构所直接支持,然而我不得不跳过这些条条框框而去使用它。
有讽刺意味的是,我并不是在完成一篇描述那些条条框框的文章的撰写之后才开始使用那些直接支持POJO的轻量级架构。有几个读者的评论都是围绕着“何必为entity beans而费心—何不使用对象/关系映射(ORM)架构?那样要简单多了。有一个读者建议使用Hibernate,还有一个读者建议JDO,这两个技术我当时仅仅勉强听说过。在我体验了它们(hibernate & JDO)数周之后,我意识到它们使得对象持久化大大简易化。我发现我可以不需要服务器而开发并测试大部分的业务逻辑。我被深深的吸引住了。
Hibernate和JDO取代了entity beans,但是那些麻烦的session beans呢?他们需要被部署在服务器中,从而拖慢了开发。Spring架构的出现解决了这个问题。我阅读了几篇关于Spring的文章,但是其杰出之处直到我参加了TheServerSide.com的2004 Java座谈会之后才被理解。我在座谈会的三天,我被灌输了许多由依赖注入(dependency injection),Spring,以及面向方面编程(AOP)所带来的欢乐。我意识到我可以用Spring管理的POJO对象来代替session beans。我立刻开始使用Spring而且马上发现我可以不用接近服务器便能实现大部分的开发。而当需要一个服务器的时候,我通常仅需要使用一个轻量级的服务器—例如Jetty。这对开发的影响是显著的。这种敏捷开发(agile development)带来的便利让我更欣然接受。
我在此撰写本书以分享我对此的认识,并以教授其他开发人员更简易快速的方式开发企业级Java应用为目标。我还希望能对那些我通过阅读书籍文章和博客过程中从中学到知识的Java社区作出一些贡献。本书原意是想涵盖EJB,JDO和Hibernate,因为我本打算把如何使用POJO和EJB写在一起。但是当我发觉一个纯POJO和轻量级的架构设计对于许多企业级Java应用是一个更好的方法时,我决定让本书着眼于POJO。
撰写本书和适度的表达成为了一种有趣的经历。它占据了的业余时间如此之久,以至于我坐坏了我的办公椅,而且偶然间我发现我的孩子从两个变成了三个(什么时候发生的?)。同时我从写书过程中学到了许多。我不断试图努力思考关于什么是可行,什么是不可行。我希望从本书你可以找到开发你自己的企业级Java应用的更简易,更快速的途径。
关于本书
POJOs in Action 是一本关于使用POJO和轻量级架构开发企业Java应用的后台逻辑的实用的指南。这些技术的重要性在于其显著地简化了你如何建立一个应用的业务层和持久层。本书包含了重要的轻量级架构:Spring,JDO,Hibernate和iBATIS。由于EJB 3对于POJO的支持及其某些轻量级的特征,本书也将其涵盖其中。
在本书中你将学习到如何使用由测试驱动(test-driven)的企业级Java应用开发和对象设计。通过一个贯穿全书的简单的应用案例(Use Case),本书将展示如何使用POJO和轻量级架构进行开发。同样的案例更是使用多种方式实现,从而你将会看到其中本质的不同。
POJOs in Action 的一个重要信息便是每个技术都有其好处和缺点。本书将教授你对于各种架构,何时使用,何时不使用。例如,尽管本书强调Spring架构和POJO,但是也叙述了该使用EJB的情况;既说明了何时使用面向对象设计(OOD)和对象/关系映射结构(ORM),也解释了合适使用流程设计和直接SQL。以上使得 POJOs in Action 有别于那些盲目鼓吹其喜好的架构的书籍。
企业级Java架构还在不断发展。当我在编写该书的时候,所有描述的架构都有了多个版本发布。EJB 3已经发表了草案。而且当该书印刷以及你阅读它的过程中,一些企业级Java架构会发展更多。好的消息是,本书将会与发展相关。POJO和非侵入性(nonintrusive)轻量级架构将会被保留。
不论架构如何进化,一些重要概念是不会变化的。首先,对于一个架构的优劣的评价要客观是极其重要的,不要被一些市场行销的花言巧语所动摇。其次,POJO和非侵入性架构总是有益的,因为你需要避免你的业务逻辑与基层架构之间的耦合性,尤其是当其可能延缓“编辑-编译-调试周期时。再次,测试是至关重要的。因为你不编写测试,你就不能保证你的应用能工作;既然你必须能够编写测试,则可测试性的设计也是尤为重要的。最后,正如爱因斯坦说过:“一切都应该尽可能地简单,但是不要太简单。(everything should be as simple as possible, but no simpler)
你看过POJOs in Action吗?有什么心得分享吗?
标签: