Discuz!NET 手术剖解

今天研究了一下Discuz!NET的代码,得到了一点自己的心得,拿出来给大家分享

Discuz!NET的代码实在是写得好,设计很不错,今天就研究了一下他的数据库操作类 namespace Discuz.Data 空间下的类.

DbHelper 类是数据访问助手类(Discuz文档上的说明),该类是数据操作的底层方法。

Discuz.Data.SqlServer 下的是Discuz的商业逻辑数据操作类,Discuz将它绝大部分的数据逻辑操作都放到了这个类下,这种写法的确是很不错(本人是这样认为的,因为本人的写法宗旨是:哪里需要哪里写,这样造成数据逻辑操作在整个系统中到处都有,造成维护起来很困难)。

IDataProvider接口中申明了绝大数数据逻辑操作的方法,这也使得Discuz.Data.SqlServer下的类都要实现这些方法,这样从粗像方面定义了逻辑操作,符合依赖倒装原则.

下面我把Discuz里的数据操作类给分解了出来,可以将它用于其他的系统,你如果有需要也可以将它应用到你自己的系统中去。文件在我的文件选项里面,因为不知道怎么把他引用过来,所以只好放到文件选项里,还麻烦大家了

源代码

原文地址:https://www.cnblogs.com/jiangguanghe/p/1296046.html