
Discuz!NT专版
bookseas
这个作者很懒,什么都没留下…
展开
-
Discuz!NT 邮件插件机制分析
大约还是去年12月份,当时项目中遇到了一个很棘手的问题,就是管理员(或站长)在后台设置了邮箱信息之后,使用注册邮件发送激活验证码时,总有用户反映不能收到激活信息的邮件。 虽然不能收到邮件的情况有很多,甚至我已通过这个邮件发送程序测试过国内大多数知名网站的邮箱(如126,sina ,sohu ,gmail等),但还是有站长或用户隔三差五反映这个问题。甚至到今天我偶尔还会转载 2008-01-25 19:55:00 · 880 阅读 · 0 评论 -
Discuz!NT控件剖析 之 左侧导航控件
其实这个控件的核心基本都在JS上,而相关的数据绑定和显示却非常简单。而需要说明的是在Discuz!NT的1.0和2.0正式版,这个控件做过一些调整,当然改动也基本上是在JS上,今天给大家的源码是1.0正式版的代码,虽然有些“旧”,但程序本身的思想没变,大家只要明白了这里的源码,有了这碗酒垫底,相信再看即将开源的2.0代码,就会一目了然了。 好了,废话到此,马上开始今天的话题!转载 2008-01-25 20:44:00 · 443 阅读 · 0 评论 -
Discuz!NT控件剖析 之 ColorPicker(颜色拾取) 和Calendar(日历)
继上篇文章之后(链接),大家给了一些反馈和意见,有些BUG和不当之处我已修正,将会在2.0正式版本中提供给大家。希望大家能继续支持我们这个开源项目。 好了,开始今天的话题,首先需要说明的是因为这两个控件都比较简单所以放在一起给大家说一下。 先说一下 ColorPicker 控件 ,贴一张运行效果图让大家看一下:转载 2008-01-25 20:26:00 · 659 阅读 · 0 评论 -
Discuz!NT控件剖析 之 Tab 属性页
继上篇文章之后(链接),大家给了一些反馈和意见,有些我已动手进行了部分修改,将会在2.0版本中提供给大家。希望大家能继续支持我们这个开源项目。 好了,开始今天的话题,今天就说一下 Tab 控件。 先贴一张运行效果图让大家看一下: 开发动机:在去年开发后台功能时,最早使用的是Compone转载 2008-01-25 19:39:00 · 489 阅读 · 0 评论 -
Discuz!NT 缓存设计简析
作为一个社区类型软件,大并发支持和高效稳定运行永远是“硬道理”,而有效安全的使用缓存恰恰能起到事倍功半的效果。而.NET本身所提供的缓存机制又显得过于“单薄”,比如说订制不太灵活方便, 缓存对象之间层次感不强, 使用时缺乏统一的管理等等。 Discuz!NT缓存产生背景: 在去年五月份我加入Discuz!NT项目组时,发现这个项目当时还未使转载 2008-01-25 19:13:00 · 840 阅读 · 1 评论 -
Discuz!NT控件剖析 之 Button
在开源之后,还没什么文章来说明 Discuz!NT项目的一些特点。作为这个控件库的设计者,本人将在接下来的时间里用连载的方式来向大家解释其中一些控件的设计思想,实现功能以及一些未曾使用过的功能展示(因为管理后台只使用控件的部分功能)。同时因为这组控件开发的周期很短(当时仅用一个半月,后不断增强功能),有不少思路和控件设计的规范相驳,但当时只考虑为后台程序开发和订制方便,因此就暂且开转载 2008-01-25 19:10:00 · 362 阅读 · 0 评论 -
Discuz!NT 中的数据库链接类(重构到抽象类工厂模式)
在7月份中我曾经写过一篇随笔叫,叫" .NET2.0 框架中的 AbstractFactory 模式 " 。 里面主要说了在2.0框架下的数据库链接工厂中新增的几个类,而这几个类采用的就是 抽象类工厂模式(Abstract Factory)。因为在Discuz!NT 2。0中使用了这些新的类,所以导致我们的产品dbhelper.cs可以支持几种数据库(目前官方实现的有sqlser转载 2008-01-25 20:41:00 · 599 阅读 · 0 评论 -
Discuz!NT 聚合功能页面程序架构(重构到Facade与Observer模式)
鉴于前一阵子所写的关于Discuz!NT文章在园子中有些朋友存在疑惑这里先做一下声明: 这些关于Discuz!NT的文章不是要帮助大家把这个项目中所有的程序逻辑都解释一遭 (我相信大多数朋友也不希望这么做) 而是希望能给大家提供一把“钥匙”,帮助大家从项目结构和程序架构上先对这个产品有一个初步认识,想信只要有过一定开发项目经验的朋友应该从中很快找到突破口,来挖掘转载 2008-01-25 20:40:00 · 362 阅读 · 0 评论 -
Discuz!NT 的URL地址重写(URLRewrite)
在Discuz!NT中的前台页面访问(特别是aspx)是被HttpModule接管的,所以大家在Discuz.Web项目的目录下看到的唯一"aspx文件"是index.aspx,而所有其它前台页面都有“/aspx/”文件夹下的相应的子目录中,而这些子目录名称是与后台所“生成”的模板存在对应关系的。而这种“关系”的绑定是通过dnt_templates(模板数据表)来进行关联的。而有关模板转载 2008-01-26 19:04:00 · 2404 阅读 · 0 评论 -
DiscuzNT 实体项目(Entity) 简析
根据目前官方提供的数据字典(详情见链接)。可以看出数据库中的数据结构:包括表名,字段名,字段类型,含义等。通过这些文档可以让大家对整个数据的表结构有一个基本了解。另外本人觉得,如果用一篇文章去讲解数据库,让人多少有些凑字的嫌疑。所幸目前还有 Discuz.Entity.dll这个项目没有介绍,所以想以这个 dll为主线,“搂草打兔子”,顺便简要介绍一下数据库。 因为我们的实体类代码是转载 2008-01-26 18:56:00 · 453 阅读 · 0 评论 -
Discuz!NT之配置文件类[discuz.config]
如果大家从官方下载2.0正式版的DLL程序集中会从里面找到discuz.config这个DLL文件。通过reflector 反射加载这个程序集后,后从中找到一些从类名称上非常相似且有一定规律(格式)的类。它们是: 全局配置类 GeneralConfigFileManager.cs GeneralConfigInfo.cs GeneralConfigs.cs转载 2008-01-26 12:42:00 · 1210 阅读 · 0 评论