代码改变世界

推荐NHibernate新书:NHibernate 3.0 CookBook[附下载]

2010-10-11 08:43 by 李永京, ... 阅读, ... 评论, 收藏, 编辑

NHibernate 3.0 CookBook这本书在2010年10月4号出版,出版后NHibernate的Lead:Fabio Maulo赠送我一份免费优惠券,我花了几天时间阅读了这本电子书,以下是我阅读NHibernate 3.0 CookBook这本书的读书心得分享一下。

NHibernate近况

目前我们很难对NHibernate整个技术体系有个完整的把握。其原因是官方文档不全,关于NHibernate的书也没几本。NHibernate 3.0 CookBook这本书可以算是弥补了NHibernate文档很多空白。

在国内更是资料寥寥无几。甚至可以说是空白。但是从今年的NHibernate下载量官方统计来看,中国居然是全球第一,占24%,高达4万之多,从这么大的数字来看,不知道有多少人真正的把NHibernate使用地“灵活自如”呢,这的确是个未知数。

这本书概述

NHibernate 3.0 CookBook

从全部的内容来看,这本书几乎涵盖了NHibernate 3版本的全部内容,基本上对NHibernate有了一个整体的把握:

  • NHibernate功能介绍
    • Mapping
    • Configuration
    • Query
    • Test
    • Extending
  • NHibernate贡献项目介绍
  • 各种环境(ASP.NET MVC、ASP.NET、WPF、WinForms)里的最佳实践

现在我们使用到的技术在这本书都有一个比较全面的介绍。

每一个章节都是采用真实实战的方式去写的,基本上有四步:

  1. 准备工作(Getting ready):为这个知识点准备下实体。
  2. 如何实现(How to do it...):进行实际编码完成功能。
  3. 分析原理(How it works...):详细描述了为什么这样做以及这样做的原因。
  4. 必要扩展(There's more...):对这个知识点进行适当扩展。

在完成之后你也基本上对这节有了一个清晰的把握了。而且可以仔细阅读源代码实际运行看结果。

这本书分析

第一章:Models and Mappings

本书把映射作为出发点,介绍了三种映射方式:XML、Fluent、ConfORM。然后分析一些映射实例:类继承映射、一对多映射、版本映射、枚举映射、组件映射。通过这一章基本上已经熟悉了映射,但是有一些内容没有介绍, 例如数据库对象(DatabaseObjects)、筛选定义(FilterDefinitions)、结果集(ResultSets)、类型定义(TypeDefinitions)等等。

第二章:Configuration and Schema

我们使用NHibernate,必须先配置NH。这一章作者使用了App.config、hibernate.cfg.xml、Loquacious、FluentNH方式配置NHibernate,并使用NHibernate架构生成工具创建数据库架构。这一章是必不可少的基础内容,往往很多初学者在这里过不去,我想看看这一章就完全清楚了。

第三章:Sessions and Transactions

个人觉得这一章写的最好了,介绍了Session接口和几种Session策略,实例分析ASP.NET Web Forms和ASP.NET MVC程序中session per web request策略应用并对其扩展。

第四章:Queries

NHibernate3版本里所有的查询方式,应该是7种:HQL(NHibernate查询语言)、Criteria(条件查询)、QueryOver(Lambda表达式查询)、LINQ(语言集成查询)、H-SQL(NHibernate特定SQL查询)、SQL(原生SQL查询)、Custom DSL(自定义特定领域语言查询)。 不过作者在这一章介绍了常见的几种。每种查询都是举了一些实际例子。

第五章:Testing

作者写个测试环境,并介绍NHibernate Profiler、SQLite和重影。推荐使用这些可以有效的提高工作效率。

第六章:Data Access Layer

我们在程序中NH相关查询代码是写在数据访问层的,作者在这一章介绍了各种查询的写法并阐述了几种模式(Repository、LINQ specifications)在数据访问层的应用。

第七章:Extending NHibernate

扩展NHibernate,这个比较高级,但是在企业级应用里必不可少。作者在这一章介绍的几种扩展都是挺实用的。

第八章:NHibernate Contribution Projects

这一章介绍了NHibernate贡献项目,对于我们使用这些贡献项目有个参考了。

最后作者结合ASP.NET MVC、ASP.NET、WPF、WinForms环境对全书内容整理了一个学习、应用思路。

推荐链接

最后觉得应该把这本书推荐给所有NHibernate开发人员。从这本书中你肯定可以学到很多你不知道的东西。如果有的公司使用NHibernate,推荐采购一本实体书作为手上的参考书。以后我也会结合这本书的内容适当的补充写写博客。当然前提你读过了这本书了。

书名:NHibernate 3.0 Cookbook

作者:Jason Dentler

购买地址:https://www.packtpub.com/nhibernate-3-0-cookbook/book

出版社:Packt Publishing

提供本地下载(2010年11月6号22点更新):Packtpub.NHibernate.3.0.Cookbook.Oct.2010.zip

这本书评价

Fabio Maulo:NHibernate 3.0 Cookbook(今年底购买输入优惠码NHIBCBK20(区分大小写)享受20%优惠)

Mogens Heller Grabe:Book review: NHibernate 3.0 Cookbook

希望本文对你有所帮助。