[项目过程中所遇到的各种问题记录]学习篇——对工作以来的学习过的开源项目进行总结—DiscuzNt

简介:

     前篇文章记录了动软代码生成工具,这篇则是针对B/S上的BBS论坛——DiscuzNT,DiscuzNT是由于今年的项目需要。客户需要在B2C网站中集成DiscuzNt,实现一站式服务,有关整合DiscuzNt我也碰到了一些问题,同时也记录了下来,可以看下这篇文章:

[DiscuzNt]整合DiscuzNt论坛目前所发现的小BUG及个人简单解决办法

 

DiscuzNT

      DiscuzNt应该可以算的上是目前国内做的最好的.NET开源BBS论坛了(非开源的应该也没有那款比的上DiscuzNT),其本身脱胎于Discuz!PHP版本,采用.NET编写,并且开源,而且整个论坛很符合目前国内网友的需求,拥有可以自由定制板块、论坛博客、商城、以及强大的兼容性(可以和许多目前主流的商业项目集成)、公开源代码以及相互访问的API等,网站截图:

pic112

 

对于DiscuzNT,我的定位还是和动软代码生成器一样,去了解其内部是怎么实现的,有哪些东西可以学习。相比动软仅仅服务于开发者,DiscuzNT的受众面就广多了,由于其定位是一个BBS论坛,其交互功能就很强,需要运用到.NET许多相关技术,这些都是可以学习借鉴的,下面列举下我认为DiscuzNT很不错并值得学习的地方(想详细了解DiscuzNT的朋友可以去代震军BLOG查看其写的有关DiscuzNT的文章:点我进入):

 

1、插件机制,论坛作为一个互动性很强的网站应用,是由许多模块功能组成的,使用者可以自由选择其所需的功能,如:商城、博客、邮件等,而这些DiscuzNT的开发团队已经做好了,但是对于一个论坛的使用者或者运营者如果想在此基础上进行扩展,一般来说都会比较苦难,而DiscuzNT引入了插件机制,想扩展的开发者可以了解其插件机制的运作来进行有针对性的开发。

 

2、开放性及易用的API,由于DiscuzNT是一个论坛,是WEB应用中一个不可或缺的部分,很多网站都需要包含这个部分,而对于网站的开发者来说做一款成熟的并且符合国内用户需求的论坛太难、太费时间了,所以需要一款成熟的、好用的论坛,DiscuzNT就是为这个而生的,DiscuzNT可以独立存在,也可以做为网站的一部分存在,但是现实情况是不同的网站是不同的公司开发的,而DiscuzNT则是由一个公司开发的,为了能将DiscuzNT可以很好的整合进各种网站当中,DiscuzNT就提供了一个可供其他网站开发者使用的DiscuzToolkit及API文档,其他网站的开发者不需要了解DiscuzNT内部是怎么实现的,只要了解DiscuzToolkit是如何使用的即可。

(对于需要做DiscuzNT整合的朋友可以仔细看下DiscuzToolkit及DiscuzToolkit附带的Samples)

 

3、页面静态化及个性化,在没看过DiscuzNT的源码前我是从来没想过原来页面静态化可以这么做(请原谅我的无知),在我以往的认知范围中静态化总是生成静态页面,访问者直接访问这些静态化的页面,这种方式虽然快,但是动态性太差,如果想要与服务端进行交互则需要大量的JS脚本,或者在页面嵌套iframe,还有就是直接生成静态化对于页面的样式及个性化就很难处理,而DiscuzNT则很好的解决了这个问题,其采用了模板页的方式,美工可以根据设计制作一个个模板页,只需要在其中需要填充内容的地方预留占位符既可,而后台则只需要选择美工制作的模板页生成相应的页面既可,不过这生成的页面也并不是纯静态的页面,其采用了拼字符串的方式将静态化的页面拼接起来,其中数据部分则从数据库获取,然后直接Response.Write输出到具体的页面,这样既保证了效率又解决了个性化的问题。

 

下面几点主要是我从中学习到的一些知识点,以及我认为是个不错的学习范例

4、配置文件,在我开发的过程中也经常碰到一个问题,就是配置信息太多不好管理,DiscuzNT的解决方法让我受益匪浅,有兴趣的朋友可以看这篇文章:Discuz!NT之配置文件类[discuz.config]

 

5、地址重写,在web开发中,地址重写已经不是什么新鲜事了,目前有关地址重写的解决方案也很多,但是DiscuzNT的这块应该是个不错学习范例了,有需要的朋友可以学习下其内部的源码。

 

6、在线用户获取、缓存设计、web项目的安装等等

 

话说,各位看过的朋友如果觉得本文对您还有点用,或者觉得本文还有价值的话,麻烦将鼠标移到【推荐】上,帮我点击下,非常非常的感谢!

 

项目过程中所遇到的各种问题记录

编辑器篇:

        FCKeditor相关知识及各种常见使用问题

        FCKeditor自定义上传路径配置

        使用FCKeditor生成静态分页HTML

图表篇:

        有关MSChart的一些小技巧

        asp.net上不错的图表选择—FunsionCharts

ORM篇:

        使用NHibernate配置对象实体的一些小问题

        有关NHibernate查询封装

部署篇:

        项目部署过程中那些纠结的问题-IIS

        项目部署过程中那些纠结的问题-SQLServer

工具篇:

        .NET开发时常用的工具类库

学习篇:

        对工作以来的学习过的开源项目进行总结—动软代码生成工具

        对工作以来的学习过的开源项目进行总结—DiscuzNt



本文转自kyo-yo博客园博客,原文链接:http://www.cnblogs.com/kyo-yo/archive/2010/12/28/Problem-Record-Study-Open-Source-Projects-DiscuzNT.html,如需转载请自行联系原作者


目录
相关文章
|
3月前
|
存储 人工智能 安全
【简历优化平台-01】前言、设计、安全、进度
【简历优化平台-01】前言、设计、安全、进度
|
4月前
|
前端开发 Java 数据库连接
如何顺利完成毕业项目看完这篇文章有你想要的!
如何顺利完成毕业项目看完这篇文章有你想要的!
|
5月前
|
监控 项目管理
通俗易懂的方式理解项目管理的49个过程(追妹子案例)
通俗易懂的方式理解项目管理的49个过程(追妹子案例)
53 0
|
SQL 自然语言处理 搜索推荐
搜索引擎项目开发过程以及重难点整理(二)
搜索引擎项目开发过程以及重难点整理(二)
118 0
搜索引擎项目开发过程以及重难点整理(二)
|
存储 SQL XML
搜索引擎项目开发过程以及重难点整理(一)
搜索引擎项目开发过程以及重难点整理(一)
380 0
搜索引擎项目开发过程以及重难点整理(一)
|
Web App开发 安全 Unix
高效率的工作工具(持续更新...)
高效率的工作工具(持续更新...)
182 0
高效率的工作工具(持续更新...)
|
Rust
GitHub 项目持续本地化,交给它来做,准没错!
不知道你们有没有在 GitHub 上看到过一些项目,它的一份项目文档被翻译成了多国语言的版本。
209 0
GitHub 项目持续本地化,交给它来做,准没错!
|
JavaScript
大杂烩: 踩坑记录
大杂烩: 踩坑记录
大杂烩: 踩坑记录
|
设计模式 Java 程序员
|
SQL 存储 分布式计算
“开源”vs“商业”,差别到底有多大?这篇测试一目了然
来自用户的声音… 开源就能搞定,还要选商业方案吗? 我是小白用户,开源方案上手快吗? 性能有极致要求,开源能满足吗? 追求性价比,哪种方案更适合我? 我对MySQL很熟悉,数据分析场景适合吗? 上述问题如何解?看阿里云帮你对比分析!
15038 0
“开源”vs“商业”,差别到底有多大?这篇测试一目了然

热门文章

最新文章