您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz的NT系统架构分析
寻雁2025-06-25Discuz教程已有人查阅
导读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版本那样拆分成多个数据库
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版本那样拆分成多个数据库
本文标签:
很赞哦! ()
上一篇:discuz伪静态设置步骤教程
下一篇:Discuz二次开发手册整理
相关教程
- FolderPainter
- ContextMenuManager
- JavaScript数字的toExponential()方法
- JavaScript Number.parseInt()方法:将字符串解析为整数
- JavaScript Number.isInteger()方法:精确判断整数类型
- JavaScript Proxy的preventExtensions:对象锁定机制的精确保留
- JavaScript Map entries()方法
- JavaScript addEventListener
- Print Distributor
- Style2Paints
- JavaScript document.getElementsByTagName()
- document.getElementsByName()
图文教程
Discuz! 7.1 & 7.2远程代码执行漏洞分析
Discuz!新版本7.1与7.2版本中的showmessage函数中eval中执行的参数未初始化,可以任意提交,从而可以执行任意PHP命令。
discuz全局数组变量后台各项设置教程
$_G 保存了Discuz中所有的预处理数据缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可。Discuz! 中所有的缓存保存在 $_G[cache] 中
Discuz模板解析语法示例
在Discuz!程序执行中可以通过 include template('模板文件夹/模板名称无后缀');的方式进行解析,前提是您使用的Discuz!程序已经包含了 ./source/function/function_core.php 的函数库
Discuz添加自定义模板广告的方法
在做Discuz中广告的时候碰到个大问题,现在我需要做一个轮播的通屏广告位,调用广告图片的代码应该是以下代码:我需要把图片地址放在li的背景图片中,来适应所有显示器的宽度,让图片居中。
相关源码
-
自适应黑色建筑装饰设计公司个人工作室pbootcms模板基于PbootCMS内核开发的黑金风格模板,为建筑装饰、工程设计类企业打造,采用开源架构,支持跨行业快速适配,核心优势如下: 查看源码 -
(自适应响应式)动力刀座五金机械设备pbootcms网站源码下载为动力刀座及五金机械企业定制的响应式网站框架,基于PbootCMS系统深度开发,助力传统制造企业实现数字化转型升级。采用手工编写的DIV+CSS前端架构,代码执行效率提升40%。查看源码 -
pbootcms网站模板响应式全屏旅游景区网站源码本模板为风景民宿、旅游景区等企业设计,基于PbootCMS内核开发,具备响应式布局与专业SEO优化功能,助力企业低成本高效获客。以下是核心特点:查看源码 -
(自适应)家禽饲养养殖基地pbootcms模板响应式模板下载为家禽饲养企业、养殖基地设计的响应式网站模板,聚焦畜禽产品展示、养殖技术分享及企业信息服务。采用PbootCMS内核开发,响应式技术确保PC与手机端数据实时同步查看源码 -
(自适应)简繁双语机械矿山矿石五金设备pbootcms源码下载本模板基于PbootCMS开发,主要面向机械五金、矿山矿石设备等行业,支持简体中文和繁体中文双语切换。采用响应式布局技术,确保在各种设备上都能获得良好的浏览体验。模板设计注重展示工业设备的专业性和技术特点,帮助企业建立可靠的线上展示平台。查看源码 -
(PC+WAP)蓝色五金机械设备营销型网站源码下载基于PbootCMS内核开发的营销型企业网站模板,为五金机械设备类企业打造,通过标准化数字展示提升客户转化率。模板采用模块化设计,可快速适配机床工具、建筑五金、阀门管件等细分领域。查看源码
| 分享笔记 (共有 篇笔记) |
