nhibernate架构分析(uml图)
今天闲的没事在ORG网站上溜达看到了个不错的文章,转过来和大家分享想,一起学习一下。
[以nhibernate-PreAlpha-Build-2为准]
从图中可以看到,Session和SessionFactory是NHibernate的核心部分。
SessionFactory维护到持久机制(数据库)的连接并对它们进行管理,同时还保存着所有持久对象的映射信息。
SessionFactory由Configuration.BuildSessionFactory创建,这个对象一般使用Singleton模式。
Session用于将对象持久化,支持数据库事务,另外Session还提供了强大的数据加载功能。
Session由SessionFactory创建。
其它对象说明:
IConnectionProvider: 连接提供者接口,负责与数据进行连接;
Dialect: 数据库方言;
CollectionPersister: 集合持久化类;
IClassPersister: 类持久化接口,定义了基本的CRUD操作;
TransactionFactory: 数据库事务工厂;
IInterceptor: 拦截器接口,用于在操作执行时进行一些处理,典型的就是记录操作日志。
我看完倒是有瘾想自己实现以下nhibernate的过程,就当学习下,希望大家也能够喜欢。