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

2007-12-6 18:27 2014 9 9 分类: 工程师职场

背景:


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


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


 


需求:


支持多类型数据库


操作多个同一类型数据库


参考:


PetShop4.0


 


解决方案框架图


 


基于工厂的三层解决方案

 


数据访问工具类


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


数据访问类


 


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


 


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


985722.html

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

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条