POJOs IN ACTION中文版

理查德林

出版时间

2007-04-01

ISBN

9787121039614

评分

★★★★★
书籍介绍
《POJOS IN ACTION中文版:用轻量级框架开发企业应用》是一本实践指南,它围绕POJO(普通Java对象)构造了一个完整的应用程序,对框架之间的各种组合进行了详细的举例说明;描述了在采用POJO和轻量级框架如Hibernate、Spring时,如何制定主要设计决策,包括怎样组织和封装业务逻辑、访问数据库、管理事务以及如何处理数据库并发等。此外,《POJOS IN ACTION中文版:用轻量级框架开发企业应用》还详尽地分析了事务管理、悲观锁、乐观锁、条件组合搜索等难点问题。
AI导读
核心看点
  • 以POJO为核心,详解Spring与Hibernate等轻量级框架组合应用
  • 通过完整案例代码,直观演示领域驱动设计(DDD)的落地实践
  • 深入剖析事务管理、乐观锁及ORM映射等企业级开发难点
适合谁读
  • 希望深入理解领域驱动设计并寻求代码实现的Java开发者
  • 从事J2EE企业应用开发,关注架构模式与软件工程的工程师
  • 对Spring、Hibernate等主流轻量级框架组合感兴趣的程序员
读前提醒
  • 本书出版较早,部分框架版本已陈旧,建议侧重学习设计思想
  • 内容偏向架构模式与代码实践,适合作为《领域驱动设计》的补充
  • 书中涉及多种框架对比,初学者可重点阅读核心POJO设计章节
读者共识
  • 被誉为《领域驱动设计》的代码版,帮助读者直观理解DDD精髓
  • 设计思想价值远超框架本身,对理解企业应用架构模式极具启发
  • 通俗易懂,通过具体案例展示了POJO带来的简洁与解耦优势

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "表示层或facade首先调用PlaceOrderService更新PendingOrder,然后调用RestaurantRepository获取可选餐馆,PlaceOrderService并不返回可选餐馆的列表,如果它这么做了,就会和UI设计仅仅耦合在一起。最好让服务和UI分离,让领域模型的客户再次调用领域模型以取得它要显示的数据。facade或表示层调用领域模型服务更新领域模型,并调用仓库取得显示给用户的数据。领域模型被本地调用给调用,因此多次调用并无太大开销,这一点非常重要。"
  • "访问仓库的各种选择 仓库主要由领域服务使用,不过它们也被一些实体如PendingOrder调用。要对仓库对象调用方法,调用者必须明显持有该对象的引用。此前你已看到仓库如何作为构造函数参数传入PlaceOrderSerivce。然而,就下面我要描述的理由来看,对领域模型实体,并不总能做到这一点。下面,我们来探究一下这个问题及其各种解决方法。 最便利的方案是将仓库作为构造函数参数传入实体,和它们传入服务的方式一样。这样以来,实体就能借助轻量级容器的构造子注入机制进行初始化。与将仓库作为方法参数传递相比,将仓库作为构造函数参数传递要简单得多,而且不存在使用singleton时的缺点,我稍后再作描述。"
  • "ORM的限制 另外,你也许设计了一个领域模型,无法映射到合乎要求的数据库模式。如果真的碰到这种情况,你久必须修改领域模型和数据库模式两者之一...但是,一旦修改了数据库模式,那我就需要相应地更改领域模型。"
  • "另一个主要区别是POJO facade向表示层返回领域对象而不返回DTO。例如,稍后你将看到,实现“下订单”用例的POJO facade会返回PendingOrder领域对象,而不返回包含其数据拷贝的DTO。由于你不必为每个领域对象定义DTO和编写构造DTO的代码,在某些应用程序里,这部分代码可能多达10%,因此可以显著简化整个facade。"
  • "这些类按如下方式阻止在一起。当表示层调用PlaceOrderFacade时,Spring TransactionInterceptor便开始一项事务,并打开一个持久层框架连接,供仓库使用。PlaceOrderFacadeImpl则调用领域模型类验证输入并执行计算。当PlaceOrderFacade返回时,TransactionInterceptor关闭持久层框架连接并提交该事务。"
  • "Transaction Script模式... 所以,这种模式只应该在这样的情况下应用:应用程序的业务逻辑及其简单,或者持久层框架访问数据库的效率不够高时。"
作者简介
Chris Richardson是位开发人员和架构师,他拥有超过20年的开发经验。他的咨询公司擅长启动新项目和指导开发团队。Chris曾在Insignia、BEA及其他公司担任技术主管。他拥有英国剑桥大学的计算机科学学士和硕士学位,目前住在加利福尼亚的奥克兰。
用户评论
我个人感觉这本书更像是其他“模式”书集合起来的大杂烩,太多地方没点中要害。
这么对得起In Action名号的书籍,作者应该与时俱进的更新一下版本了
虽然是06年出版的书,但是里面关于领域驱动设计,测试驱动开发,Hibernate,Spring的一些思想依然很有价值,虽然之前也浏览过Evans的《领域驱动设计》这本业内经典,但pia用代码的方式让我直观的认识了DDD,“Talk is cheap, Show me the code”,不是么?
非常不错,通熟易懂
没有理由不看,小清新的架构模式。
好吧。。。终于又找到一本好书,DDD的书貌似就那么几本啊,都写得很精彩。
收藏