Beer house 中DAL层的结构讨论

qian10512 2007-05-14 10:41:10
相信大家中有不少人都研究过The Beer House这个示例项目
它的DAL层是如下一种结构:
DataAccess 派生出 objProvider,这个派生类中定义出一堆抽象方法,这些抽象方法在它的子类——具体数据库实现类(如:SqlObjProvider)中实现
当它需要增加obj模块或者使用不同具体实现(如使用MySQL数据库)是,需要添加至少两个类ObjProvider和具体实现(如:MySqlProvider,OracleProvider)

所以,个人认为可以用另一种方式实现
DataAccess 派生出具体实现类如SqlProvider,MySqlProvider,OracleProvider这个派生类中实现具体数据库数据的基本操作,ObjProvider使用而不是继承这个派生类(在ObjProvider中要屏蔽具体数据库的差异,这应该可以做到)业务层只与自己对应的objProvider联系
这样,当添加obj模块或新的数据库时,就可以只添加对应Obj或者DBProvider
我想请大家说一下自己的看法,因为自己很没底:-)

(我是个新手,水平比较低,有不对的地方请大家指正)
...全文
230 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
KKND2006 2007-05-14
  • 打赏
  • 举报
回复
直接用工厂模式不就行了

这些东西太底层了,都好久没看到了...上面还可以抽象成很多层的

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧