关于DiscuzNT 1.0

    DiscuzNT 1.0于2007年4月1日发布正式版。
    更新:
    由于开始对DiscuzNT的模板机制缺乏了解,把自动生成的aspx文件当成了实际文件(建议DiscuzNT在自动生成的文件中加上相应的说明,这样就不会被误解),写了篇误解DiscuzNT的文章,误导了大家,请大家谅解!
    关于Discuz!NT模板机制,请参考:对Discuz!NT模板机制的简单说明
    晕,这篇文章竟然被有些网站拿过去进行了不正确的报道。
    在这里声明一下:
    下面加删除线的内容是原先误解DiscuzNT的内容,请不要采用。
    本来打算博客园新版论坛使用DiscuzNT 1.0,可是今天看了一下DiscuzNT 1.0的代码,让我感到很意外,还没看过这样使用ASP.NET,比如用户登录页面的代码:  
    在login.aspx的OnInit方法中,将页面的所有的html代码写在字符串中返回给客户端,然后在login.cs的ShowPage()中获取通过表单提交过来的数据进行处理。
    这是用ASP或者PHP的方式在写ASP.NET的代码,从Discuz的角度,这也许是将php版Discuz翻译为ASP.NET版DiscuzNT的一种简便方法,但这样的程序以后改进与维护多么麻烦,除非以后始终跟在php版Discuz的后面进行翻译,那样的话,我觉得可以试试直接通过
Phalanger将php版discuz编译成.NET平台的MSIL运行。
    有兴趣的朋友可以通过Refector研究一下DiscuzNT 1.0的源代码。
    这样的程序,即使开源了,也不敢在博客园使用,以后改进或二次开发太麻烦了。
    找一个基于.NET的开源论坛程序竟然这么难!
    ASP.NET的开发效率比PHP高,但优秀的开源Web应用软件却比PHP少得多,PHP社区那样专心地做开源软件值得.NET社区学习。
    我们不仅要追求新技术的学习,更要将这些技术变成实实在在的应用。

posted on 2007-04-03 23:18 dudu 阅读(8506) 评论(110)  编辑 收藏 网摘

评论

#101楼 2007-04-04 00:27 Dflying Chen      

几点感受:
1 代码很大一部分为自动生成,开发人员只要维护PHP版本即可,不存在多少维护效率问题。
2 执行效率应该有较大提高。
3 佩服Discuz的开发团队,他们选择了最适合项目实际情况的开发方法,真正做到了对ASP.NET的活学活用。
  回复  引用  查看    

#102楼 2007-04-04 00:34 叶玄[未注册用户]

我看了DN!的导出代码...也挺佩服他们的.
可以把这种水平的东西吵作的这么历害.
然而更佩服的,一个是PHP,一个是.net,
两个产品中间原来还可以这么弄的.....

学着...
不过有一句话我还是想说一下.
软件嘛,只是一个工具.咱们水平怎么样与客户没多大关系的.
  回复  引用    

#103楼 2007-04-04 00:42 龙行西部[未注册用户]

看到宣传时觉得很不错,苦等很久。下载之后发现错误不少,代码写法和用法让人感到迷惑。虽然我刚接触net2.0,也认为他们写的程序不好,不知道他们是怎么想的。让人失望。想找一个真正net2.0的论坛真的不容易!   回复  引用    

#104楼 2007-04-04 01:13 横刀天笑      

.net的论坛可以用CommunityServer啊,不过性能是个问题,项目整体太庞大,二次开发也麻烦   回复  引用  查看    

#105楼 2007-04-04 02:14 Ling[未注册用户]

这是DNT所谓的“编译模板”
HTML + 正则 -> C#

cnblogs里有DNT的开发者,让他详细解释吧
  回复  引用    

#106楼 2007-04-04 08:14 大陆响尾蛇      

我记得园子里就有DNT做.NET,不记得是哪位了,以前还在POST过首页。
我推荐dudu一款BBS,CVBBS,满简洁实用的。试试看。
  回复  引用  查看    

#107楼 2007-04-04 08:35 大人头[未注册用户]

说一下他们的框架师好像是雪人论坛的作者,ASP论坛.....   回复  引用    

#108楼 2007-04-04 08:43 亚历山大同志      

DUDU大大振臂一挥,指挥大家来一起开发一个超过Discaz的开源.NET论坛吧   回复  引用  查看    

#109楼 2007-04-04 08:45 幻想曲[未注册用户]

dnt我也关注过一段时间
但后来放弃了,其中有dudu提到的那些因素
cvbbs如果开源的话倒好,但不开源,有点难以忍受啊
到处是他们的版权信息......
  回复  引用    

#110楼 2007-04-04 08:46 活靶子[未注册用户]

早还没有开源的时候,我就Refector看过了,看完就del掉了,实在还不如yaf.更无法比cs了,不过这样,比么绑定啊什么的运行速度上会有些提升。
另:dnt是雪人论坛(asp:xinboard)作者雪人带人弄得,
再另:
  回复  引用    

#111楼 2007-04-04 08:52 myriverman[未注册用户]

这么多大大们没有好好看看源代码啊,dnt的aspx页面都是后台生成的,不存在维护困难的问题,维护好模板文件(html)和页面cs文件就可以了,而且抛弃了asp.net的很多服务器控件的性能开销,虽然开发不是很方便,不过习惯了这个种模式后,我觉得还挺顺手的,对于论坛追求性能上还是值得尝试的   回复  引用    

#112楼[楼主] 2007-04-04 08:58 dudu      

@大陆响尾蛇
CVBBS不支持.NET 2.0,不开源。
  回复  引用  查看    

#113楼 2007-04-04 09:04 Yang[未注册用户]

@dudu

CVBBS好像有2.0的版本,不过确实不开源让人觉得恶心!
  回复  引用    

#114楼[楼主] 2007-04-04 09:11 dudu      

@myriverman
不好意思,页面文件的确是后台生成的,错怪DiscuzNT了。
  回复  引用  查看    

#115楼 2007-04-04 09:12 Kim[未注册用户]

文人相轻 自古有之 没开源的时候赞誉一片 一旦开源或者看到源码赞声转变成骂声 仰视转变为鄙薄 但有一点我一直没想明白 如果您真的那么有技术 您自己干嘛不开发一个呢   回复  引用    

#116楼 2007-04-04 09:18 zzbird[未注册用户]

aspx是从html转换过去的,但是,最严重的问题在于,所有的服务器控件都不能使用了。比如你想换成cuteeditor,你可以吗?不可以了,所有控件都不能使用   回复  引用    

#117楼[楼主] 2007-04-04 09:20 dudu      

@Yang
开源与不开源是CVBBS的选择,没有任何理由责怪CVBBS。
只不过从使用者的角度,不开源的话,很难根据实际的需求进行修改、二次开发。
  回复  引用  查看    

#118楼 2007-04-04 09:22 大川[未注册用户]

所有的aspx页面都是程序来生成的,只需要维护模板就可以了。这样做主要是出于以下几点考虑。
1.以页面为单位来制作模板,而不是以用户控件为单位,方便对于.NET不熟悉的用户制作或修改模板。
2.不同的模板在不同的文件夹下生成相应的aspx文件,这样就实现了模板的切换。
3.可以方便的生成游客缓存页面(templateBuilder里面存的就是页面的内容了)。
4.html输出的时候冗余代码会比传统的方式少一些。

所以希望大家在看待dnt的时候忽略掉aspx页面中的内容,并不是说我们这样做是最好的方式,但是目前来看这样做均衡了各方面的考虑。
  回复  引用    

#119楼 2007-04-04 09:22 chow[未注册用户]

dzNT也没有开源

dzNT的问题不在这个文章说的,而是从html转换过去后,控件不能用了
  回复  引用    

#120楼 2007-04-04 09:22 tsian[未注册用户]

大家都在讨论博客园。我想说说博客生活。

博客园面对大部分技术写手,博客生活面对的是一大堆生活写手。
这些生活写手对技术并不是在行,却又想拥有自己的天地。

对于博客生活这样的多用户blog来说,我们不应该对页面模块自主化设置有太多苛求。唯一一点,就是skin。

相比较其他博客园区大量的skin制作人员,博客生活鲜有新的skin出炉。

前阵子曾想过给cnweblog移植几个skin,但是无奈没有地方测试。dudu也貌似不是很希望有新skin的样子。有些打击积极性。

能够理解dudu在维护博客生活稳定和将博客生活开放之间平衡的难度,但我不知道dudu用经营博客园的方式来对博客生活,是不是合适。

或者说虽然博客园、博客生活等系列产品取得了一定的成功,但还是看不出dudu想要走的模式。
技术型博客社区附带生活型博客社区,或者生活型博客社区附带技术型博客社区,再或者两者并重的博客社区?

By the way:博客园,博客生活是我遇到过速度最快,最稳定,功能也最强的博客社区。这点勿须质疑。
  回复  引用    

#121楼 2007-04-04 09:22 tsian[未注册用户]

发错地方了。

-__--~

应该发到上面那篇日志的。。。

汗~

我是土人。
  回复  引用    

#122楼 2007-04-04 09:26 ZergTant      

beta的时候我也看过了dudu还是别说了,自己心里清楚就好了省得招人骂,以前在dz论坛上有人就提出过这个问题,结果被封号,而且还被很多人骂,为了这样一个论坛挨骂不值,另外yaf和cs我也看过,其实cs的结构是最好的,但是太庞大了,效率的确是个问题,yaf正在研究,他的模板技术好像没有cs做的那么完美,不过也有很多值得学习的地方
回 大陆响尾蛇 和 dudu
动网也出.net论坛了好像是cvbbs二次开发的,好像也是不开源
开源的话我看yaf不错,看他的更新日志,新版要有重大的改进
另外就是回myriverman
抛弃了asp.net的很多服务器控件的性能开销
套用模板销率也不会比服务器控件高多少吧
所谓的效率只不过是开发人员水平的问题,相同的功能,开发人员水平高了,写出来的程序效率自然就高了
  回复  引用  查看    

#123楼 2007-04-04 09:27 Dominic[未注册用户]

也难怪,.net世界对于模板引擎根本不了解,这也是我最郁闷的地方。

以为aspx就可以达到设计和实现分离,好的web设计师没空去看你asp.net语法怎么写的。

模板引擎中的主题、模板、风格概念是asp.net 缺乏的。
  回复  引用    

#124楼 2007-04-04 09:30 亚历山大同志      

雪人论坛漏洞之多,简直骇人听闻,在学校的时候搞网站要架个论坛,看到雪人的比较漂亮,且功能还不错就拿来用了,哪知道三天两头受到攻击,各类自动发帖机,盗帐号的漏洞层出不穷,害得我天天熬夜看代码补洞.最后实在是看不下去了就只好换了.我要严重鄙视那个家伙   回复  引用  查看    

#125楼 2007-04-04 09:32 ZergTant      

@大川
看你怎么写了,传统方式也不会有垃圾代码的
但是你们的这样做是为了照顾不会.net的人,这点但倒是说的通
如果你说这样能提高效率,那就真是瞎说了
我估计你们在以后的版本里面不会继续这样的,目前这样只不过是为了那些不懂.net的人能够使用,当离不开dz后,再改版他也只能被迫的学习,商业策略就是这样,但请不要把商业运作和技术混淆
  回复  引用  查看    

#126楼 2007-04-04 09:33 游荡的灵魂      

templateBuilder 里面的数据不能够被缓存吧   回复  引用  查看    

#127楼 2007-04-04 09:36 大川[未注册用户]

@ZergTant
我并没有说这样做是为了提升效率,这不是我们的初衷。

@游荡的灵魂
缓存是在BasePage作的处理
  回复  引用    

#128楼 2007-04-04 09:37 戏水[未注册用户]

为了2.0 而2.0 如同 为了oo而oo一样
不要轻易的鄙视别人 哪怕是你已经彻底了解以后
现在的人不了解传统,所谓的美德也变成了虚伪的东西
欢迎各位从技术的角度剖析
  回复  引用    

#129楼 2007-04-04 09:38 Beginor      

^_^,我也看过一个.Net应用,跟这个差不多,据说是从asp升级过来的,代码中到处都是Response.Write,真有点让人抗不住了。用这种类型的东西做二次开发真的要吐血了。   回复  引用  查看    

#130楼 2007-04-04 09:42 ZergTant[未注册用户]

@大川
http://nt.discuz.net/showtopic-11724.html
原话
2)提高了性能:一般情况下,前台程序不使用控件模式,而使用Discuz!NT的模板转换功能,性能将会得到显著提升。例如Discuz!NT的模板转换功能不用数据绑定,不必判断数据来源和转换数据类型,不用页面控件,避免了使用ViewState,从而大大提高了页面性能。此外控件模式往往追求功能齐全,而当你只需要其中一部分功能时,大量无用的代码则会拖累页面性能。

  回复  引用    

#131楼 2007-04-04 09:49 daizhj      

其实在一早加入DISCUZ之初,这方面的疑惑也是有的。
但当时我和雪人谈论这个问题时,主要是出自几个方面的考虑。
详情见:
http://www.cnblogs.com/daizhj/archive/2007/04/04/699285.html">http://www.cnblogs.com/daizhj/archive/2007/04/04/699285.html
  回复  引用  查看    

#132楼 2007-04-04 09:49 大川[未注册用户]

@ZergTant
首先,原话不是我写的,所以你上面的评论请收回。但是我还是认同原话的。
  回复  引用    

#133楼[楼主] 2007-04-04 09:52 dudu      

@tsian
抱歉!由于程序的原因,目前设计Skin比较麻烦,我会在以后的开发中对Skin部分进行重写。
不是不希望有新的skin,而是不想让你那么麻烦地设计Skin。
这两个社区的发展模式还在摸索之中。
  回复  引用  查看    

#134楼 2007-04-04 10:02 je[未注册用户]

他们只是选择了适合们产品的开发方式,确实学习ASP.NET的人都会忽略真正模版引擎的用处。不过他这个也太郁闷了,我们现在用monorails的boo觉得很不错。
另:dudu说asp.net的开发效率比php高从何说起啊
  回复  引用    

#135楼 2007-04-04 10:04 ZergTant[未注册用户]

@大川
不是你写的就能证明,大大提高了页面性能?
这是正常人的逻辑么?
我并没有对你进行人身攻击,我只是说在技术层面上这样是提高了效率还是降低了效率,而且到底提高了多少效率,是否是大大提高的呢
如果我错了,我可以道歉,我对技术不对人,我跟你又不认识,在没有任何证明的情况下为什么要我收回评论,请给个理由
另外看了你回dudu的疑惑
但在数据量小时这种差异不那么明显,但如果数据量大:如几百万记录

首先,我没仔细看dnt数据访问的代码
我的问题是几百万记录你不在数据库进行分页处理,全部返回给页面层进行绑定?
如果是这样,那这个论坛太可怕了
另外就是我的意见:java和.net是不一样的,他们有相似之处,也有各自的特性,有些东西java很好用,到了.net里面就不是那么好用了,因为.net有比他更适应.net框架的实现。

我的ie设置cookies限制了,以上ZergTant都是本人
  回复  引用    

#136楼 2007-04-04 10:07 tsian[未注册用户]

了解了。

不过我看了一下代码,貌似移植的难度还不算太大。

加油,dudu。

  回复  引用    

#137楼 2007-04-04 10:08 雪人[未注册用户]

to ZergTant:

分页当然是在数据库分页处理只返回指定页的记录给程序,你怎么回想到把数据全部返回给程序的?这是数据库层面的东西,跟asp.net有什么关系,跑题了吧?
  回复  引用    

#138楼 2007-04-04 10:12 大川[未注册用户]

@ZergTant
这位朋友,我的意思是你把对象搞错了,我没有说的话你强加在我身上了。当然dnt官方所说的我是认同的。

dnt的分页是在数据库里进行的,不可怕,放心吧。
  回复  引用    

#139楼 2007-04-04 10:12 ZergTant[未注册用户]

我没说清楚
这篇文章写的
http://www.cnblogs.com/daizhj/archive/2007/04/04/699285.html
  回复  引用    

#140楼[楼主] 2007-04-04 10:12 dudu      

@je
仅仅是方便的开发工具和ASP.NET的服务器控件技术,就可以让asp.net的开发效率比php高。
  回复  引用  查看    

#141楼 2007-04-04 10:18 雪人[未注册用户]

感谢dudu协助我们宣传产品~

Discuz!NT后台用传统的控件开发,仅仅是为了加快开发速度。前台不用控件,是为了让这个产品更符合站长的需求。为了沟通和探讨,我打算把前台采用这种机制的初衷写一下。
  回复  引用    

#142楼 2007-04-04 10:21 ZergTant[未注册用户]

@大川
我还是很不明白的是为什么要我收回评论?
难道说我引用了dn论坛的宣传原文我就对某某人进行人身攻击了,还是反对公产党领导了,或者说我颠覆社会主义了
你的回答还是没说明让我收回评论的理由

我只是想知道你们所说的大大提高效率能提高多少
既然是你们官方说的,那么至少是有测试结果的吧,没测试结果就可以瞎说么?
我水平没有你们那么高深,光看代码就知道效率能够提高,我的水平只限于对测试结果的对比,我能知道那个好,那个不好
  回复  引用    

#143楼 2007-04-04 10:25 Apple[未注册用户]

支持雪人
我觉得DNT挺好 他顾及到很多不懂.NET的人
这样肯定有他的原因
  回复  引用    

#144楼 2007-04-04 10:27 je[未注册用户]

@dudu
既然你这样认为,那就不说了
  回复  引用    

#145楼 2007-04-04 10:32 Zachary[未注册用户]

DZNT就再快要正式发行时被我抛弃了。就先不说代码,系统发布和维护的过程就快要让人吐血,感觉项目根本没有进行符合软件系统开发方法的管理控制,更不要说对客户负责了。
看到大家反馈代码质量,一点都不稀奇。这是为了商业目的开发的,只不过公布代码出来而已,好像从来没有人承诺过代码质量和可学习可移植性。
要学习,要推敲,可以看看DNN,那是真正.NET的开源系统,伴随.NET而生的。不过DNN本身毫无商业内含,其中很多模块也是一茬一茬的时好时坏,供学习倒是好材料,毕竟所有开源代码的来源都可以追溯.
  回复  引用    

#146楼 2007-04-04 10:34 Zachary[未注册用户]

我抛弃DZNT的原因和感慨,发表在:
http://nt.discuz.net/showtopic.aspx?topicid=10809
  回复  引用    

#147楼 2007-04-04 10:35 菌哥      

@Apple
"我觉得DNT挺好 他顾及到很多不懂.NET的人"
我认为不懂.NET的人就不需要用Discuz!NT
  回复  引用  查看    

#148楼 2007-04-04 11:03 Zachary[未注册用户]

@菌哥
"我认为不懂.NET的人就不需要用Discuz!NT"
这点倒是不敢认同。毕竟无论哪个论坛,对多数人而言只不过是一个工具。相对于PHP版,可能对于很多初用者而言在Windows上少安装配置一个PHP解释工具就能降低不少建站的门槛。所以我的意见倒是谁都可以选用任何一个工具,只是能否发挥这个工具的能力,以及能否通过这个工具发挥个人想象力达到好的效果,就各不相同了。熟悉.NET的说不定满世界选了半天.NET的系统都不满意,还是用了PHP的论坛来用;也不排除熟悉PHP的人由于各种条件和前提,反而选择了.NET的系统平台来用呢。
工具而已,是为了帮助我们达到目的的,只要能达到目的,用什么工具以及怎么用都行。
当然,我们依旧可以结合使用经验和对工具本身特性的分析来评判工具本身的好坏,就像好车劣车,对于把我们从一个地方带到另一个地方这个目的来说,差别不大;但是对车玩家而言,连发动机上的气门大小都是可以说出道道来的。
  回复  引用    

#149楼 2007-04-04 11:03 netrobo[未注册用户]

Discuz是一个产品,准确说是一个商业产品,做为一个产品,满足用户的需求,方便用户使用,利于公司的维护和售后,这些是最主要的,至于说代码怎么写,都需要根据实际情况而定。

做软件,都以用户需求出发,以用户为本,跟开发人员的开发需求没有关系。
Discuz做为一个论坛产品,他的用户是广大站长,只要从站长的角度来看,是一个好的产品就可以了,至于根Discuz采用什么样的技术没有多大关系,根据我个人的经验,很多站长其实都是不懂技术的。

  回复  引用    

#150楼 2007-04-04 11:15 ZergTant[未注册用户]

@Zachary
cs用来学习是绝对的经典,dnn一直没抽出时间来看,不过好像那里很多模块是收费的
宝玉大哥也最新出了一个开源的系统ol.org.cn看样子不错,你有兴趣的看看吧,也是开源的
  回复  引用    

#151楼 2007-04-04 11:33 je[未注册用户]

宝玉的架构应该偏向CS,不过CS更适合用来学习。
DZ的用来使用。
  回复  引用    

#152楼 2007-04-04 11:54 雪人[未注册用户]

时间有限,简单把Discuz!NT的模板机制解释了一下:

http://ntblog.discuz.net/snowman/archive/2007/04/04/430.html
  回复  引用    

#153楼 2007-04-04 11:55 航天奇侠


吵成这样,论坛还会不会开阿?
  回复  引用    

#154楼 2007-04-04 11:59 刘岛      

这就是DNT所谓的开源么?
有意思
  回复  引用  查看    

#155楼 2007-04-04 12:38 je[未注册用户]

没有什么DNT所谓的开源,他们公告也说得清楚,过段时间稳定了才会开源,现在还没开源。   回复  引用    

#156楼[楼主] 2007-04-04 12:47 dudu      

@航天奇侠
会开。
  回复  引用  查看    

#157楼 2007-04-04 13:08 雪人[未注册用户]

re: 关于DiscuzNT 1.0 2007-04-04 09:33 游荡的灵魂
templateBuilder 里面的数据不能够被缓存吧
-----------
这样缓存更简单, 呵呵,页面内容都到一个简单的变量里了,想如何处理还不简单:)

还有就是,下面这个评论我想应该让一些asp.net程序员看看
---
re: 关于DiscuzNT 1.0 2007-04-04 09:27 Dominic
也难怪,.net世界对于模板引擎根本不了解,这也是我最郁闷的地方。

以为aspx就可以达到设计和实现分离,好的web设计师没空去看你asp.net语法怎么写的。

模板引擎中的主题、模板、风格概念是asp.net 缺乏的。
  回复  引用    

#158楼 2007-04-04 13:38 je[未注册用户]

楼上讲的是,很多。NET程序员以为ASPX就是ASP。NET的根本了,以为不用他就不是好的ASP。NET程序。   回复  引用    

#159楼 2007-04-04 13:40 je[未注册用户]

DUDU的这篇文章被CNBETA上转载了,讲"DiscuzNT 刚发布就受到技术人员广泛质疑".晕   回复  引用    

#160楼 2007-04-04 13:42 je[未注册用户]

不过侧面反映DUDU的影响力太大了。哈哈   回复  引用    

#161楼 2007-04-04 14:21 slightboy      

DNT 确实有很大的问题
有兴趣的朋友可以 自己看的
http://n.dvbbs.net/topic-398.aspx">http://n.dvbbs.net/topic-398.aspx
这里我也稍微分析了下
  回复  引用  查看    

#162楼 2007-04-04 14:30 wei[未注册用户]

强烈建议DUDU开源博客园程序,并且都隔段时间就发新版本(以前的那个太老了),带动一下我们新手的技术!   回复  引用    

#163楼[楼主] 2007-04-04 14:47 dudu      

@wei
抱歉!实在太忙,现在连博客园本身的程序开发都忙不过来。
  回复  引用  查看    

#164楼[楼主] 2007-04-04 14:49 dudu      

@wei
而且代码比较乱,缺少设计,并不能带动新手的技计。
  回复  引用  查看    

#165楼 2007-04-04 16:02 finestie

听说,听说DiscuzNT发布了,听说而已,我没有亲见。但我却见过Discuz的那个CEO在中央台,就是那个身价千万的年轻人!

现在,DiscuzNT居然发布了,则普天之下的Discuz Fans,其欣喜为何如?其纷争为何如?
  回复  引用    

#166楼 2007-04-04 16:18 是[未注册用户]

博客园里有这么多.net高手,为什么不能组织起来写一个论坛?
  回复  引用    

#167楼 2007-04-04 17:33 wei[未注册用户]

@dudu
大家都想要开源,就是不能从自己做起
  回复  引用    

#168楼 2007-04-04 18:52 星星[未注册用户]

建议重建一个.text中文开源项目,大家一块儿弄   回复  引用    

#169楼 2007-04-04 19:04 U2U      

没想到Cnblogs的站长说话也这样不负责任。失望啊   回复  引用  查看    

#170楼[楼主] 2007-04-04 19:39 dudu      

@U2U
我只是用博客写出自己的想法,谁也不能保证自己的想法始终是正确的,写出来是为了交流,通过交流才知自己的想法是对是错。
如果不负责任,我也不用这样道歉了。
  回复  引用  查看    

#171楼[楼主] 2007-04-04 19:42 dudu      

@星星
组织开源项目比想像的要难得多,博客园正在组织NBear开源项目,想参与的人很多,但真正做实实在在工作的人却很少。
  回复  引用  查看    

#172楼[楼主] 2007-04-04 19:46 dudu      

@wei
不是把自己开发的软件源代码免费提供给想要的人就是开源。
开源是一种组织软件开发的方式,是很多人凭着兴趣一起开发与完善开源软件。
  回复  引用  查看    

#173楼 2007-04-10 12:40 比卡丘[未注册用户]

一群愚民,一群FQ,哎,这个世界需要彪悍   回复  引用    

#174楼 2007-04-11 20:54 泪浴男爵[未注册用户]

...DZ发个.NET就那么轰动么...好不好让用户自己选就是了.何必说这说那呢.
P.S.
LZ是谁都不认识.乱点过来的
  回复  引用    

#175楼 2007-04-15 23:17 YAO.NET℡      

不是在用asp.net forums吗?   回复  引用  查看    

#176楼 2007-04-18 10:59 于Sir[未注册用户]

研究中,先不评论。   回复  引用    

#177楼 2007-04-23 10:49 Laser.NET      

个人认为这个模板机制由于放弃控件机制确实能够提高执行速度,但是做的有点多余:
要提高速度其实只要放弃大量的使用控件,采用兼容以前的asp的编码模式就可以了,没有太大的必要再来个模板上的代码生成。
对于模板页面中也要用代码生成工具将aspx中的html全部转换成Response.Write()的处理感觉有点多余,其实asp.net本身就是第一次是解析aspx文件,之后也是代码生成,然后编译,最后只要aspx文件不被改动基本上都是执行编译完的代码。
NT的那套额外的模板生成的动作只是稍微减轻了asp.net第一次解析页面的工作量,而这个步骤在整个网站的运行过程中只是占了很小的一个比重。但是与此同时,却增加了模板开发和维护的工作量,降低了开发效率。。。
  回复  引用  查看    

#178楼 2007-04-23 10:52 Laser.NET      

关于asp.net的控件机制的好处大家也是不言而喻的,所以我个人也觉得提高执行效率固然重要,但是最好不要走极端,完全放弃对asp.net控件的使用和支持。。
如果真是那样,建议大家不要用.net编码了,全部改用C或者汇编语言。。呵呵,那样的话速度绝对快!:)
  回复  引用  查看    

#179楼 2007-04-24 23:43 Killo[未注册用户]

只浏览了一下,专门看了一下生成的ASPX;
为什么使用StringBuilder又不彻底咧,那么多"+";
也没细看生成这些ASPX时代码是不是不好处理!
^_^
  回复  引用    

#180楼 2007-04-29 01:18 怪怪[未注册用户]

有點看法。

1. DiscuzNT的支持者有一定道理,好的頁面設計沒興趣學習ASPX語法。

2.但是,不使用ASPX語法並不代表一定要用模板引擎。模板引擎本身是一種垃圾的方法,只是因爲php太弱才不得不採取的折中方法。這又分爲兩方面:
a.軟件設計的關鍵是復用,頁面模板卻是替換式的。比如CommunityServer裏,葉面上某一控件的皮膚可以單獨替換,這就使得頁面的局部可替換。而大多數php的頁面模板卻是全頁替換的。
b. php一定也有實現部分替換的模板方法,暫不討論。但對於ASP.NET來説,如果所有頁面都是用字符串拼接出來的(不是說其實質,僅指開發或者代碼生成物),那不如回去用asp好了。放棄控件和控件樹,等於放棄ASP.NET的一切。控件是對應于頁面上不同粒度元素及維護其相互關係的較好的一種方式。

3. Discuz的人你們說抛棄XXXX於是會XXXX,這個是對的,但選用ASP.NET就應該準備犧牲這些,而得到另一些;實際上你們的初衷也不是爲了提高效率,只是擴大市場份額(推出.NET版)同時又節約開發成本(做這麽個不倫不類的東西,其實想做好很簡單,把你們幾個開除了,換上真懂得,給時間給Money即可)的下策。對於ASP.NET外行就是外行,跟那些盼著建個論壇就掙大錢的站長糊弄一下無所謂,在這裡遮羞也沒什麽意思了。

結論:Discuz的實現方式對於ASP.NET來説相當的垃圾(請注意我已經加入了修飾),不會就不要做,要做就做好,搞這種奇怪的東西確實讓別人不知道說什麽好了。
  回复  引用    

#181楼 2007-04-29 02:08 怪怪[未注册用户]

另外,看了雪人和另外一個人的博客,說框架可用可不用,這也很可笑,ASP.NET並非語言,而是框架,DNT的問題只是是否正確的使用了這種框架。另外,ASP.NET也不是MVC的,DNT作者可能也根本沒有好好的了解過ASP.NET是怎麽一回事。

再説幾點:
1.控件方式的效率問題不是不可解決的,而不用控件方式又沒有重量級的理由,只能說不會用或者承受不了學習->開發的成本。

2.你們要實現的效果,比如完全與PHP版本的功能一一對應,也是可以使用標準的OO方式實現的,使用了蹩腳的方式,也只能說能力所限,只能如此罷了。

3.不要把自己和MoonRail對比,根本不是一個層次的模板引擎,另外MoonRail的方式也未必就是對的,MoonRail在它的需求環境下是對的不代表你們也是對的。實施上MoonRail的作者相當在意OO理念的正確使用。

4.好的方式流行不起來,並不代表他的理念和出發點是錯的,比如CS,它對各種功能的實現有可取的地方,但有垃圾的地方;是別人產品在國内流行不起來是因爲垃圾地方的短板效應,這並不是你們使用另一種蹩腳方式的理由。

沒有人包括大肆攻擊你們的我要求你們一定要使用正確的方式,因爲誰也沒這個資格去替你們決定。但是不會使用正確的方式(或者基於各種考慮沒有使用正確的方式),就不要給自己扣上正確的帽子,尤其是公開言論,你是正確的,那麽別人就是錯誤的(不是說你有意說別人錯誤,但是會造成實質性的存在潛臺詞)。你可以說:我們必須怎麽怎麽樣,但是我不知道有其它方式能實現,所以我就暫時性的使用了當前的方法。

最後,對於我攻擊性的言辭道個歉,我比較少的這樣,但是對於具有引導性的言論,尤其是你們這樣在外行看來很高杆的人說出的言論,比較容易發火。因爲你們影響力較大,會誤導那些不懂行的人。比如如果我是個初學者,也許我會跟朋友說,不用使用控件方式,有性能問題,DNT的作者說了如何如何;也許我會跟某老闆朋友說,不要讓你的程序員使用ASPX、ASCX的方式開發,因爲和設計人員不好配合,你看人家Discuz團隊的人都這麽說了(這還不提一些完全外行的如把PageController當作MVC等不經意的話了)。另外我對面向過程氣味很濃的程序比較反感,如果大家都以你們為標杆來學習ASP.NET,那麽整個ASP.NET社區的水平提升就要慢的多。
  回复  引用    

#182楼 2007-04-29 03:11 怪怪[未注册用户]

具體說說,雪人的BLOG裏面寫:
例如:一个站长想让论坛的右侧显示自己网站的最新10条新闻,那么就可以在.aspx.cs程序中引用新闻程序的命名空间,调用获得10条新闻的方法,赋值给一个变量,模板里也新增变量的语句与html,就OK了,页面最终显示如何站长在模板中可以直观的控制。(当然,我们也在模板里有引入命名空间和插入 c#代码的语句,如果用户想直接修改htm模板来做这件事情,也同样能做到,不强调站长修改时一定要遵循分层之类的,站长不是程序员)。

CS方式是,在右側的HTML裏加入<XX:News runat="server" Count=10 />。如果需要自定義HTML,找到News的皮膚改一改即可。這樣做的好處是,如果需要在第二個頁面左側增加顯示15條新聞的東西,直接Copy過去修改屬性即可。我不相信能做你說的那些事的站長,不能夠做這些事。(重用性、簡單性)

aspx页面是从 htm模板自动生成的,它们派生于Discuz!NT的BasePage类,每个页面输出的内容就在BasePage里定义一个 StringBuilder中,一个虚方法ShowPage()控制页面是否真正执行去获取页面所需的值。说到这里,大家可能已经想到这里可以玩点儿花招了。

看似用了類、繼承的概念,其實是面向過程味兒非常濃烈的蹩腳方法。用Reflactor看了你們的代碼,實際上dudu划掉的話,確實有錯誤的部分,其實論斷一句錯誤也沒有:
1. 生成出來的東西完全可以更簡單,並且用ASP.NET更原生的方式,組裝字串然後write....,你乾脆直接用HttpHandler算了,何苦還要有個aspx文件?不是要考慮效率嗎?
2.生成方式的本身也非常蹩腳,感覺回到了原始社會,如果不是在騗工資的話。那些面向過程的方法就不說了,單説你們自己的模板語言,真想不通是爲了增加複雜性還是減少複雜性。顯示邏輯與顯示元素本身耦合在一起,難道不是出於想不出其它辦法,而是認爲全中國的人都應該會使用"簡單"的分支表達式?

我个人认为ASP.net在国内的发展虽然也比较快,但推广速度不是足够理想,对此可能一些做ASP.net的同行也有同感,究其原因,我个人认为相当重要的一点就是那种技术构架论的程序多,真正贴切站长需要的程序少。仅以论坛程序为例:N多年前一些程序员从jsp的Jive上学设计模式,现在又看ASP.net的CS和Dot Text,这些程序非技术人员看不懂改不了,但这些程序负荷能力偏偏还没有一些其它程序(比如一些php程序)高,这样的程序自然是无法被普通站长接受。 Discuz!NT是产品,不是程序,程序可以只给技术同行用,但产品是给普通用户用的,需要考虑的因素更多。

這些話的潛臺詞是:你們做得更好,考慮的更多,設計模式不新鮮,別人都是在裝B玩概念,做出來的東西蹩腳到普通用戶沒法使,導致“推广速度不是足够理想”。我承認CS、.Text是你說的這樣,因爲.Text確實在商業上沒有你們考慮的多,控件使用面積太大。其實CS的最大問題,根本不是<CS:Login runat="server" /> 而是Skin-Login.ascx裏竟是些<asp:TextBox />後者確實給美工增加了不必要的負擔。而且這些ASP.NET原裝控件外觀就很難定制。但是論學習成本和不動腦子,若Login.aspx裏是純HTML + CS:類名的控件,然後Skin-Login.ascx裏只有HTML,由於大家asp時代就會使用include,根本就不會比你們的模板更難,而靈活性卻大大提高!CS其實錯誤的地方還不止這些,但即使CS垃圾,並不代表正確的方法就是錯誤的,只能說別人沒做好而已。技術在這裡先放這邊不談,你這樣把OO的理念和其他ASP.NET程序員一棒子打死的做法,是否有歉考慮?

OO的設計需要更多的腦力和經驗,發展起來也需要很多時間,退回到原始時代絕對不是正確的做法,你願意怎麽做是你們的事,但是作爲比普通程序員更受關注的“大人物”,請對自己說的話負責。至於你們這個玩意兒,我比dudu划掉的話有更過分的想法,還是不要開源的好,省得害了一批新學.NET的大好青年。
  回复  引用    

#183楼 2007-05-06 22:13 顾非[未注册用户]

其实DNN里的skin做的是最好的,html,即符合DiscuzNT的要求,容易改,而且发挥了asp。net的长处。唯一的缺点是skin只是在page上,没有如CS那样的对页面的部分控件也能够通过skin来操作。但增加这个并不难。

希望这位怪怪能多谈谈CS的长处与短处,尤其是效率上的缺陷在哪里。按CS开发者Rob的说法,在其设计CS中已经抛弃了asp。net的大部分控件,而是尽量使用轻量级的控件,大量应用缓存,一个后果是对服务器的内存要求比较苛刻,如果内存不足asp。net会有一些奇怪的行为,比如缓存失效等,但在页面上又不出错,只是速度慢。 相比下,静态页面反而比较可靠。
  回复  引用    

#184楼 2007-05-24 22:26 方正[未注册用户]

连续两天晚上看了下dnt的代码,其实上面这个怪怪还是没搞明白人家dnt的机制

1 你用HttpHandler那如何使用多种皮肤?美工做的html页如何用?
2 你论述半天最后承认CS不好 dottext不好,又说dnt不好,都有缺陷那不如直接说全都不行,大家什么都别用了。

刚才逛了下dnt的论坛,用户自己能制作的皮肤就有不少,这说明dnt的皮肤得到了用户的认可。就这一点,上面那么多论述就变得苍白无力了。

未来国内还真说不定发展最好的.net论坛就是这个dnt,作为一名程序员,我不得不承认,程序和产品有区别。
  回复  引用    

#185楼 2007-06-25 10:38 sunruping[未注册用户]

DNT已经不能算是一个好的asp.net产品了。讨论下去无意义。   回复  引用    

#186楼 2007-07-20 14:24 乐乐[未注册用户]

刚开始,都在不断完善中,不可能一口吃个胖子   回复  引用    

#187楼 2007-07-29 03:08 站长不管这些[未注册用户]

各位技术大师们:广大的站长根本不在乎这些什么技术代码。

我们评价很简单:功能实用、速度快、安全,界面漂亮。

你们可以调查一下,多少站长是真正的懂技术的????

dz!php的成功就在于让什么不懂的人构建自己的论坛。

dudu的文章我不反感,相反下面的很多程序员的评价让人反感。

这也就是你为什么是一个默默无闻的程序员。

-----------------------------------------------
dnt除了技术,要一切以站长的实际需求出发。

DNT本身采纳了DZ!PHP的很多功能,就是dnt最大的竞争优势。
  回复  引用    

#188楼 2007-07-30 19:50 Laser.NET      

呵呵,这个要看具体的需求的。如果只是个人站点之类的,自己建设论坛比较麻烦,那可以直接用个现成的论坛。不过如果是个正规的盈利的网站,论坛往往需要和它现有的业务整合,还需要为将来的业务扩展服务。这个时候选择一个可以二次开发或者相对比容易扩展的论坛就比较重要了。   回复  引用  查看    

#189楼 2007-07-30 19:53 Laser.NET      

博客园的.text没有dudu通过在代码级别的定制,估计也不会有今天这么好用:)
一点不懂技术或者根本没有技术维护人员的网站估计不是什么大的网站。。。呵呵
  回复  引用  查看    

#190楼 2007-08-09 23:07 asboy      

郁闷 这么好玩又热闹 怎么不继续说了 哈哈 DNT下载过 .text那个也下载过
前面的还没解压缩 后面的解压缩了看了一下有几个文件夹 商业化DNT有一套啊 确实很多站长不是程序员但会利用网站赚钱 哎 再郁闷一下
  回复  引用  查看    

#191楼 2007-08-12 10:40 引用呵呵[未注册用户]

@Laser.NET

程序员的思维就是这样!

DZ PHP 的成功就是得意于小网站!以后还会有更多的自驾论坛不是为了盈利!而是为了乐趣!

调查一下!DZ 或者 phpwind 成千上万论坛都是大网站吗?

好像你很不泄于小网站一样?难道站长架设网站都是为了盈利!

期待看到你的大网站!

怪不得没经过分析就大骂DNT,这也就不奇怪了!
  回复  引用    

#192楼 2007-08-12 23:44 fangsang[未注册用户]

人非神仙,谁能无错
dnt的出现,确确实实方便了很多人,这个是毋庸置疑的,
速度也很可以,确实不错。
  回复  引用    

#193楼 2007-09-08 12:10 psgogogo[未注册用户]

东西要活学活用,可能没有在门户网站工作经历的人,或者是搞bs应用开发的人,很难理解模板引擎到底对web开发有什么用。
支持dnt,让人眼前一亮。
百花争鸣是好事,人身攻击就不好了。
  回复  引用    

#194楼 2007-10-12 16:24 Shing Ye      

我也研究过源码,就是所有系统页面继承自一个BasePage类,这个类用来输出html代码....   回复  引用  查看    

#195楼 2008-01-21 16:59 王祥[未注册用户]

我来说两句:
我想dnt采用这种模式跟他们的设计理念有很大的关系。这样做完全是为广大的站长考虑的。dot net虽提供了模板机制,但还是缺乏灵活性,弃之... ...
我做站一直再用织梦内容管理系统,感觉织梦的模板引擎超帅气,一直想移植到dot net里... ...dnt替我做了这些工作。
谢了!

  回复  引用    

#196楼 2008-03-13 20:47 step      

在虚拟主机中部署dnt比较困难,因为权限问题。   回复  引用  查看    

#197楼 2008-06-11 11:15 一个垃圾[未注册用户]

这么做一是从原有的项目继承而来,二是实现模板机制
做事要事实求实,不要什么都参照什么什么模式,模式都是人做出来的,用活了才有价值,学院的东西我们不要,我们只要降低公司风险,实现价值.对公司来说维护成本最低.这就是选择的价值.请不要在批评了,学院派们.实事求是点吧
  回复  引用    

#198楼 2008-09-06 15:03 lauralxj[未注册用户]

之前想着像 xmlasp(动网新闻) 要能开源对我学习ASP.NET 会是很大的帮助!后来看到Discuz!nt开源了,想着下下来看看,着下倒好,懵了,哈哈!期待动网新闻啊,开下又能这么着了?哈哈。。。   回复  引用    

#199楼 2008-10-20 10:23 kakaku[未注册用户]

首先声明我和DISCUZ没有任何关系,但作为一个多年的.NET开发人员。
个人觉得DISCUZNT的设计思路很有水平。 没有被所谓的新技术所束缚。
(这正是园子里很多.net初学者易犯的毛病)。discuz可以说集合了asp,php,java..net 等各自特点设计出来的。 不是.net的程序员也很容易看懂和理解这套框架。 而这套框架的开发性和维护性并不比差。 .net的服务器控件对于小型项目
是快。 但是对于二次开发,相对discuz这种方式不占优势。 如他自己所说会html就差不多了。
  回复  引用    

评论共2页: 上一页 1 2 



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 698992




相关文章:

相关链接:

导航

公告

人生的真正价值在于从何种程度与何种意义上摆脱自我!
明天继续更新评论功能
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

统计

与我联系

搜索

 

常用链接

留言簿

随笔分类

随笔档案

新闻分类

相册

HJ

朋友的博客

网站收藏

小组

友情链接

最新随笔

最新评论

阅读排行榜

评论排行榜

60天内阅读排行