午夜精品福利视频,亚洲激情专区,免费看a网站,aa毛片,亚洲色图激情小说,亚洲一级毛片,免费一级毛片一级毛片aa

親密接觸Discuz!NT之架構(gòu)篇 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【m.stanzs.com - 電腦資料】

   

    考慮到用戶的實(shí)際應(yīng)用需求和面向未來的軟件開發(fā)理念,Discuz!NT在設(shè)計(jì)和開發(fā)之初就構(gòu)建了優(yōu)良的架構(gòu),大大提高了軟件的伸縮性、可擴(kuò)展性和重用性,

親密接觸Discuz!NT之架構(gòu)篇

。本架構(gòu)除了使Discuz!NT自身結(jié)構(gòu)更為清晰和更易于維護(hù)以外,也為用戶進(jìn)行二次開發(fā)和完善論壇個(gè)性化提供了極大的方便。

    Discuz!NT采用了如下的四層結(jié)構(gòu),讓我們簡(jiǎn)單介紹一下:

    (一)顯示層

    顯示層可由用戶自行進(jìn)行設(shè)計(jì)和修改,用以顯示最終的web頁面界面和論壇數(shù)據(jù)。特別值得一提的是,Discuz!NT在前臺(tái)沒有選擇絕大多數(shù)ASP.net程序所使用的控件模式,而是另外實(shí)現(xiàn)了一套方便好用的模板機(jī)制。本模板機(jī)制使站長(zhǎng)可以用html(或xhtml)來制作模板,然后由Discuz!NT的模板轉(zhuǎn)換功能轉(zhuǎn)換為Asp.net頁面程序(即aspx)文件,這樣做的好處有兩點(diǎn):

    1)提高了易用性:ASP.net的ascx文件對(duì)于沒有學(xué)習(xí)過ASP.net或?qū)ζ溟_發(fā)模式?jīng)]有了解的人來說,是存在難度的,而Discuz!NT的模板機(jī)制使得用戶只需要簡(jiǎn)單了解html就可以制作ASP.net的論壇界面,站長(zhǎng)可以輕松、自由地設(shè)計(jì)和修改界面了。

   

    2)提高了性能:一般情況下,前臺(tái)程序不使用控件模式,而使用Discuz!NT的模板轉(zhuǎn)換功能,性能將會(huì)得到顯著提升。例如Discuz!NT的模板轉(zhuǎn)換功能不用數(shù)據(jù)綁定,不必判斷數(shù)據(jù)來源和轉(zhuǎn)換數(shù)據(jù)類型,不用頁面控件,避免了使用ViewState,從而大大提高了頁面性能。此外控件模式往往追求功能齊全,而當(dāng)你只需要其中一部分功能時(shí),大量無用的代碼則會(huì)拖累頁面性能。

    更為突出的是,Discuz!NT顯示層的靈活性很高,支持在模板中定義導(dǎo)入的命名空間和插入c#代碼,從而使顯示層可以方便的插入其它程序集的數(shù)據(jù)。

    (二) 頁面數(shù)據(jù)處理層

    Discuz!NT的頁面數(shù)據(jù)處理層主要負(fù)責(zé)web頁面的數(shù)據(jù)輸入與輸出處理,包括檢測(cè)用戶數(shù)據(jù)提交的有效性校驗(yàn),以及為頁面程序所需要的數(shù)據(jù)源。本層實(shí)現(xiàn)了論壇的主要需求,完成了前臺(tái)各個(gè)頁面的功能流程,例如用戶發(fā)貼時(shí),頁面數(shù)據(jù)處理層首先判斷用戶權(quán)限,然后校驗(yàn)用戶提交的數(shù)據(jù)是否合法,最后調(diào)用對(duì)應(yīng)業(yè)務(wù)對(duì)象封裝類中的方法,將用戶的數(shù)據(jù)實(shí)際存儲(chǔ),

電腦資料

親密接觸Discuz!NT之架構(gòu)篇》(http://m.stanzs.com)。

    如果站長(zhǎng)希望用戶在前臺(tái)輸入、輸出時(shí),能同時(shí)與其它程序進(jìn)行交互,那么就可以在該層進(jìn)行處理,例如:一個(gè)釣魚愛好者網(wǎng)站想在Discuz!NT用戶個(gè)人資料中增加魚竿類別的選項(xiàng),并存儲(chǔ)到主網(wǎng)站用戶信息數(shù)據(jù)庫,那么就可以在前面的顯示層增加魚竿類別,然后在頁面數(shù)據(jù)處理層中,調(diào)用將該數(shù)據(jù)存儲(chǔ)入主網(wǎng)站用戶信息數(shù)據(jù)庫的方法,完成存儲(chǔ)。

    Discuz!NT的頁面數(shù)據(jù)處理層可以訪問數(shù)據(jù)庫,但并不推薦開發(fā)者增加在該層與數(shù)據(jù)庫進(jìn)行交互,數(shù)據(jù)庫的訪問在下面要介紹的業(yè)務(wù)對(duì)象封裝層中。

    (三) 業(yè)務(wù)對(duì)象封裝層

    以論壇來說,用戶、主題、帖子、版塊、用戶組等都屬于業(yè)務(wù)對(duì)象的范疇,Discuz!NT將業(yè)務(wù)對(duì)象描述為對(duì)象類,并提供了實(shí)現(xiàn)對(duì)這些對(duì)象進(jìn)行各種操作的豐富方法。以主題對(duì)象來說,對(duì)主題的封裝方法里就實(shí)現(xiàn)了創(chuàng)建、修改、刪除、更新等操作,Discuz!NT內(nèi)部是采用這些方法來處理主題的,同樣,開發(fā)者也可以直接調(diào)用這些方法來實(shí)現(xiàn)對(duì)Discuz!NT的具體操作,而不必自己操作數(shù)據(jù)庫。

   

    (四)數(shù)據(jù)庫訪問層

    數(shù)據(jù)庫訪問層提供了對(duì)不同數(shù)據(jù)庫訪問方法的封裝,目前Discuz!NT分別擁有對(duì)Access和SQLServer數(shù)據(jù)庫的訪問封裝,對(duì)于SQLServer用戶來講,還可以通過修改Discuz!NT的數(shù)據(jù)庫存儲(chǔ)過程來高效地實(shí)現(xiàn)一些特定的需求。

    上面簡(jiǎn)單介紹了Discuz!NT的四層結(jié)構(gòu),總體而言,論壇就像是一個(gè)飯店,論壇訪問者是客人;顯示層則是飯店餐桌和大廳,使客人的就餐場(chǎng)所;頁面數(shù)據(jù)處理層為服務(wù)員,負(fù)責(zé)接收客人的點(diǎn)菜和向廚師下單;業(yè)務(wù)對(duì)象封裝層是廚師,負(fù)責(zé)制作菜肴并返回給服務(wù)員,數(shù)據(jù)庫訪問層是采購(gòu)員,用來購(gòu)置廚師所需要的原材料;架構(gòu)就作為飯店流程或規(guī)章制度,通過完善布置各個(gè)成員的分工、協(xié)作,從而給客人一個(gè)良好的就餐環(huán)境和服務(wù)。

    另外,無論開發(fā)者使用的是c#、vb.net還是其它任何支持.net的語言,都可以直接調(diào)用上述四個(gè)層中的公開方法,來實(shí)現(xiàn)對(duì)Discuz!NT的調(diào)用。隨著Discuz!NT完善后的開源,必將有越來越多的開發(fā)者參與開發(fā),相信在我們共同的努力之下,Discuz!NT將會(huì)愈加完善。

最新文章