国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

discuz!nt論壇模板基本原理

2024-07-21 02:30:06
字體:
供稿:網(wǎng)友

程序的界面與業(yè)務(wù)邏輯的分離是現(xiàn)在大家的共識, 即所謂的mvc, 應(yīng)該說, asp.net中的控件模式已經(jīng)為mvc模式做了實現(xiàn), 但discuz!nt還是選擇了另外一種方式. 這主要是基于以下考慮:

1 模板制作者的接受度. discuz!nt是一個通用型產(chǎn)品, 用戶為廣大論壇站長, 各個論壇都有自己的界面?zhèn)€性化需求, 因此界面模板的制作必須容易被各個普通站長學(xué)習(xí)掌握, 而asp.net的ascx文件對于沒有學(xué)習(xí)過asp.net或?qū)ζ溟_發(fā)模式?jīng)]有了解的人來說, 是存在難度的. discuz!nt使得用戶了解html基本就可以制作asp.net論壇界面, 站長可以輕松掌握如何修改和設(shè)計界面.

2 一般情況下, 前臺程序不使用控件模式, 性能都得到了提升. 控件的開發(fā)方式比較有利于提高開發(fā)效率, 提高模塊的重用性, 但缺陷是性能上會有一些損失, 例如不用數(shù)據(jù)綁定, 顯然也就不必判斷數(shù)據(jù)來源和轉(zhuǎn)換數(shù)據(jù)類型, 不用頁面控件和控件事件等, 也就避免了使用viewstate, 此外控件往往追求功能齊全, 當(dāng)你只需要一部分功能時, 大量無用的代碼同樣會拖累性能.

這兩點簡單歸納起來就是提高了易用性和性能.

discuz!nt使用的界面模板方式與一些其它web程序有相似之處, discuz! (php)采用的方式是將模板html文件轉(zhuǎn)換為php文件, 然后在相應(yīng)php程序文件中#include進(jìn)來, 另一個國外asp.net程序dnn則是將html文件翻譯為了ascx文件. discuz!nt采用的模式可以認(rèn)為是對前者的模式又進(jìn)行了層次的劃分(界面與業(yè)務(wù)分離), 也可以認(rèn)為是后者的更進(jìn)一步(既然那些ascx也是自動生成了, 何不干脆aspx化讓第一次執(zhí)行前的編譯更簡單?)

discuz!nt的前臺頁面層次如下:


如果還是不太清楚, 則以文件類型可以直觀描述如下:

用戶的html模板文件在后臺選擇生成模板時被轉(zhuǎn)換為aspx文件, 負(fù)責(zé)進(jìn)行discuz!nt前臺的頁面顯示(例如showuser.htm被轉(zhuǎn)換為showuser.aspx)

aspx.cs文件為頁面類, 負(fù)責(zé)接收用戶提交, 獲取頁面所需要的各種變量并"交付"給aspx文件, 這里是實現(xiàn)論壇功能的主要部分(例如showuser.aspx.cs為showuser.aspx提供變量具體數(shù)據(jù))

對于一些常用的論壇對象, 又進(jìn)行了業(yè)務(wù)對象封裝以方便使用(例如對用戶的信息封裝為userinfo類, 用戶常用操作封裝于userfactory類)

當(dāng)然, 除了顯示層外, 其它層次的代碼最后都被編譯進(jìn)dll文件中, 對于純粹只是使用的站長來說, 你一般只需要修改顯示層即可滿足你的界面修改要求.

以上所講述的是大概的層次結(jié)構(gòu), 具體細(xì)節(jié)會在后面的章節(jié)中逐步提到.


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜春市| 南开区| 仙居县| 诸城市| 平陆县| 慈利县| 闽清县| 广宗县| 罗平县| 界首市| 武定县| 中方县| 大方县| 乌海市| 来宾市| 湟源县| 汉阴县| 灵寿县| 克山县| 安义县| 沁水县| 辉南县| 连云港市| 铜山县| 广西| 驻马店市| 交口县| 庆云县| 西畴县| 连平县| 正镶白旗| 吉木萨尔县| 阜南县| 来凤县| 桃园市| 搜索| 平乐县| 南漳县| 黑河市| 高雄市| 利辛县|