This project is read-only.
大家在使用三层架构时,通常都会认为很少有项目在上线后会改变数据库的,这种几率实在是太小了,所以对于多数据库的支持一种资源浪费。
那么这里将演示一下基于三层架构的数据访问的层的替换。

在项目的开发,有人使用开源的NHibernate、IBatisNet、Castle等来实现数据访问;也有人很用较为低层的数据访问,如PetShop中的SqlHelper、OracleHelper;甚至有些人和团队开发自己的基于ORM的数据访问层。

这里我们不讨论其它的东西,只说一下NHibernate和IBatisNet。

当项目之初,可能大多都选择NHibernate,因为它的封装可以大量的减少代码的开发,使用维护更加容易。但是当我们真正开发完成后,运行时发现数据量过大,访问速度无法忍受,这时可能考虑是否换一种数据访问技术,可以大幅度提高访问速度?!比如说用IBatisNet来替换NHibernate。因为IBatisNet支持灵活的SQL。

这里,我做了一个简单的购物Demo,分别使用NHibernate、IBatisNet来实现访问层,然后利用注入,可以轻松切换是使用NHibernate,还是使用IBatisNet。

Demo只是实现一个简单的模型,大家有兴趣可以修改和扩展一下。

===============================================================

在IBNFrameV1.1中新加了一些功能:
1)引入了Spring.net的Ioc功能。利用Ioc来实例化接口。
2)引入了Spring.net的Aop功能。利用面向切面编程,对用户是否登录系统进行验证。
3)引入了ExtJs界面展示。为了使一些朋友能够了解ExtJs的基本使用方法,特采用了ExtJs来做UI

说明:本来这个框架是用来演示使用iBatis和NHibernate切换数据访问层,但是现在已经改变了框架的性质。把它定位为开源项目的学习框架更为恰当一些。这里面主要是iBatis、NHibernate、Spring.net、ExtJs等开源项目的基本使用。

Last edited Mar 30, 2011 at 9:20 AM by meilixueshan, version 6