日志档案

发表于 2007-12-6 18:27:00

0

标签: 无标签

[原创]构建基于工厂模式的三层解决方案

背景:

由于目前服务的公司,系统复杂度很高,数据库使用了Oracle、SqlServer、MySql......(就差用到所有的数据库产品了,呵呵)

系统重构的过程中,之前写的基于sqlserver的简单三层架构已经不能满足系统重构的需求...

 

需求:

支持多类型数据库

操作多个同一类型数据库

参考:

PetShop4.0

 

解决方案框架图

 

基于工厂的三层解决方案

 

数据访问工具类

数据访问类使用DbProviderFactory实现,方法在父类实现,子类中只需通过实现CreateInstance()方法来指定providerName和connectionString 即可,唯一遗憾的是Mysql数据库不能通过这种方式实现,需要再单独写数据访问类了。

数据访问类

 

研究过很多框架,包括开源的和微软的一些示例产品,个人觉得有的框架繁杂,有的or-mapping架构的效率不高,框架的DAL层和entity层可以用基于codeSmith的代码生成,这样会提高开发效率,系统可复用性也不错

 

数据访问类库网上有很多,大部分是需要具体实现每一类型的数据访问类,今天利用项目测试期的空闲,完成了DbBase和它的实现类DbSqlServer,DbOracle,DbOleDb,心情很不错:)



Terry Dong 2007-12-06 18:27 发表评论

系统分类: 自由话题   |   用户分类: 无分类   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(238)    回复(0)  

投一票您将和博主都有获奖机会!