首页 > 其他 > 详细

discuznt学习笔记

时间:2014-03-17 13:38:45      阅读:596      评论:0      收藏:0      [点我收藏+]

DBWR=DbHelper(client)

 

Discuz.Data部分

DbHelper相当与抽象工厂中的Client,其中定义了需要与数据库进行操作的通用方法(如ExecuteScalar,FillDataset,ExecuteNonQuery)

抽象工厂的AbstractFactory为项目中使用的IDbProviderFactory(包含 IDbConnection,IDbCommand,IDbDataAdapter),因为dotnet2.0类库中已经自带,所以不需要闭门造车,重新发明轮子了

ConcreteFactory为Discuz.Data.SqlServer中使用的 SqlClientFactory(实现集体的IDbConnection,IDbCommand,IDbDataAdapter),同样在dotnet2.0类库中已经集成了。

IDbProvider只是方便IDbProviderFactory,简单封装了一下,在其内部使用单例模式与反射实现具体数据库

bubuko.com,布布扣

 

关于  DatabaseProvider 作用为封装IDataProvider所有具体逻辑,通过单例模式与反射取得具体的数据库提供者,IDataProvider定义了所有业务中需要与数据库进行操作的接口,

Discuz.Data.SqlServer相关类继承IDataProvider实现具体操作

与上面所提的没有关联

 

参考文章如下:

http://www.cnblogs.com/daizhj/archive/2007/09/24/871224.html   开发作者

http://www.cnblogs.com/Yahong111/archive/2007/07/18/822946.html 设计模式解释举例

discuznt学习笔记,布布扣,bubuko.com

discuznt学习笔记

原文:http://www.cnblogs.com/smart-liu/p/3602739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!