您现在的位置是:首页 > cms教程 > discuz教程discuz教程

Discuz的NT系统架构分析

寻雁2025-06-25 21:11:43discuz教程已有4人查阅

导读DIscuz的NT支持2种数据源,SqlServer和MSAccess,但其数据库访问层实际上已经支持了MySQL,只是安装程序还未提供基于MySQL的。

(一)分析
DIscuz的NT支持2种数据源,SqlServer和MSAccess,但其数据库访问层实际上已经支持了MySQL,只是安装程序还未提供基于MySQL的。
Discuz!NT采用了"页面类 -> 业务类 -> 数据库访问类 -> DbHelper -> 数据库"这样的分层方式。数据库访问类有1个大接口3个大实现。所谓大接口就是 IDataProvider 接口,定义了900 多个方法。3个大类实现了IDataProvider方法,用partial class的方式共分了7 个文件。这种大粒度的类设计方式本人觉得不利于以后维护。
3个大类分别为MySql SqlServer Access对IDataProvider的实现,输出3个DLL。在配置文件DNT.config里可以设置采用哪个实现。
总体来说分层还是比较严谨清晰的,但也有一些不合理之处:
1)接口层都集中在一个接口类里面,不便于维护,而且很容易引起重名
2)所有表结构都放在一个数据库中不是很合理,能否像discuz php版本那样拆分成多个数据库

本文标签:

很赞哦! (1)

暂无内容
暂无内容
暂无内容
暂无内容
留言与评论 (共有 0 条评论)
昵称:
匿名发表 登录账号
         
验证码: