2. 通用基础技术框架搭建

通过第一篇文章的介绍,第二篇主要讲解如何进行框架的搭建:

我把主要用到的开源框架类库,统一都通过NuGet来管理,通过自己搭建的Nuget服务器来进行对第三方dll进行管理。(后面会有文章专门讲解

1. ORM数据库访问,采用NHibernate-3.3.3版本,可网上自行下载。

2. 容器,采用Spring.NET-2.0.0-M2版本,可网上自行下载。

3. View采用Asp.net mvc 4 的mvc框架。

4. UI采用jquery+knockout+bootstrap来支持UI的渲染。

5. 缓存采用Memcached来支持分布式缓存。

6. 任务调度,采用Quartz.NET-2.0来做任务调度管理。

上面是基本的技术框架和版本选择,其中针对实体映射采用NHibernate.Mapping.ByCode的方式,更好的支持面向对象的模型驱动设计。

另外,对于.net 访问oracle的兄弟有福气了,oracle官方发布了Oracle.ManagedDataAccess.dll,也就是全托管的数据库访问驱动,再也不

需要安装Oracle Client,只要一个6M的dll即可,有兴趣的上oracle官方下载。

最后,就是如何将这些开源的技术框架融合在一起的问题了,我把遇到的问题大致记录了一下:

1. 关于依赖第三方类库的冲突问题,利用Nuget来管理,通过配置文件来解决版本冲突。

2. 针对spring.net 2版本上不支持NHibernate.Mapping.ByCode的集成,通过自定义类继承LocalSessionFactoryObject来添加支持。

3. 针对spring.net 2不支持 Oracle.ManagedDataAccess, 增加dbproviders中的定义来支持。

4.  NHibernate 3 不支持Oracle.ManagedDataAccess,添加OracleManagedDataClientDriver支持驱动。

5. 对于NHibernate 的 Session管理,采用OpenSessionInViewModule的方式进行管理。

具体的技术细节我就不讲了,等把代码整理好附件上传一下。

 

 

 

 

posted on 2013-10-15 09:47  wu-yansheng  阅读(538)  评论(0编辑  收藏  举报