明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

WEB軟件結(jié)構(gòu)原則

[摘要]一、 目錄結(jié)構(gòu)清楚,不宜過深,復雜,路徑最好用相對地址 二、 命名適當 三、 常變內(nèi)容、界面使模板較好 四、 共公信息統(tǒng)一存儲 五、 Include文件不可嵌入較多 六、 目錄下不可存儲太多內(nèi)容文件 七、 數(shù)據(jù)結(jié)構(gòu)要設(shè)計合理 八、 數(shù)據(jù)校驗應在服務(wù)器端 九、 連接數(shù)據(jù)庫近晚,斷開連接近早 十、 盡...

 

一、 目錄結(jié)構(gòu)清楚,不宜過深,復雜,路徑最好用相對地址
二、 命名適當
三、 常變內(nèi)容、界面使模板較好
四、 共公信息統(tǒng)一存儲
五、 Include文件不可嵌入較多
六、 目錄下不可存儲太多內(nèi)容文件
七、 數(shù)據(jù)結(jié)構(gòu)要設(shè)計合理
八、 數(shù)據(jù)校驗應在服務(wù)器端
九、 連接數(shù)據(jù)庫近晚,斷開連接近早
十、 盡量少使用SESSION與COOKIE

詳細說明:

(一) 目錄結(jié)構(gòu)清楚,不宜過深,復雜,路徑最好用相對地址
a) 什么樣的目錄放什么樣的內(nèi)容,這樣便于管理,使WEB程序的目錄結(jié)構(gòu),清楚明了,一看便知道某個文件夾下存儲了哪些功能模塊與內(nèi)容。若隨便存放,時間一長久自己都將不從了解某目錄是用來做什么的。如:經(jīng)常要使用的可執(zhí)行文件最要存放在(項目根目錄)根目錄,這樣做主要是便于了解其作用,同時也為在程序中少輸入些地址字符。程序所用到的圖片統(tǒng)一存放在根目錄下images目錄中,若項目較大,分枝較多,可再在其目錄下建立也分枝程序相關(guān)的目錄名,存儲相關(guān)的圖片內(nèi)容。程序的配置文件與常用共公函數(shù)類庫存放在include目錄中,存放在此目錄下的函數(shù)類庫文件擴展名得命名為:.php切不命名為.inc .ini之類為擴展名的文件,主要是防此此類文件可供用戶下載,或查閱其源碼內(nèi)容,這樣對其調(diào)用方便明確。模板文件應存儲在根目錄下templates目錄中,擴展名為.html,如果項目較大,分類較多,模板文件可分類存放在下極目錄中。臨時文件存儲在根目錄tmp目錄中,此目錄通常設(shè)置為任何人都可讀可寫。使用相對地址主要是方便程序移植。

 (二) 命名適當
a) 命名最好是以程序用來作什么用來命名。若一個單詞就要描述則用小寫單詞來命名,若要用多個單詞方能代表,也以小寫單詞之間加下劃線連接。要注意命名不可過長,這樣就不方便了,雖然能表達的更明確,但打字難打啊。程序中函數(shù)命名也可與此相同。不好之上也有,那就是每次命名都得要花時間去想個較合適的名字,由其是對于是我們這種英文水評較差的人來說可不是一件容易的事啊。(慘啊,哈哈。

(三) 常變內(nèi)容、界面使模板較好
a) 常變內(nèi)容、界面使用模板較好,這是因為當我某天感覺某不頁面不美觀時尚時,我想更換較新較好的界面,這時就用得上了。如果是按照傳統(tǒng)的制作將HTML頁面內(nèi)容放在程序中處理輸入時,較麻煩非得要更改程序不可,這可能會帶來較大的不便萬一更改出錯,這就不太好了。(程序有很長一段時沒有維護了,突然要改,一時之間是難免不發(fā)生改錯的情況發(fā)生)。若是使用了模板則不用改程序,只要更改一下模板文件就行了。好了說了這么我模板的好處,好像傳統(tǒng)的做法沒有一點好處是的,好像分文不值是的,也不是,模板也有它不好的地方,現(xiàn)在我也來說說它是怎么個不好的。傳統(tǒng)做法是把HTML代碼嵌入在WEB程序中,這樣做的好處是,執(zhí)行速度要比使用模板的要快,這是因為它不用經(jīng)過任何處理就能直接輸出,而模板就不一樣啦。模板先要打開讀取模板文件到字符串變量可數(shù)組字符串變量中,這是要時間的吧?讀處完了之后還得花時間用字符串操作函數(shù)替換模板中模板變量吧?替換完成了方能進入輸出。傳統(tǒng)做法與使用模板作法,您覺得哪個好呢?(我個人認為如果是開發(fā)訪問量相當大的網(wǎng)站,選擇傳統(tǒng)的作法是一個不錯的選擇,我所說的是相對不是絕對,如果訪問量再大那就不能用腳本語言去寫了,那得用 CGI + Socket + Demon了。不說了,說遠了,哈哈)

(四) 共公信息統(tǒng)一存儲
a) 共公信息統(tǒng)一存儲,這主要為了方便團隊開發(fā)時都能進行調(diào)用用的最常的函數(shù),不用每個開發(fā)人員都復制一份或自己寫一份存儲在程序文件中,這樣做浪費空間同時效率效果也不好。

(五) Include文件不可嵌入較多
a) Include文件不可嵌入較多,這是因為每次程序include某個文件時,是要打開讀取這個文件的,這是要時間的哦,再就是說處理路徑時可能會遇到較難發(fā)現(xiàn)的BUG問題。

(六) 目錄下不可存儲太多內(nèi)容文件
a) 目錄下不可存儲太多內(nèi)容文件,你有沒有發(fā)現(xiàn)?每當你進入windows的system32文件夾時通常打開的時間要比打開其它文件夾時要長久點呢?這主要是因為system32這個文件夾中文件較多,當你打開系統(tǒng)得花時間查找文件并顯示吧?如果文件較多較大時最好是分目錄分盤符來處理。假若您的機器夠好夠強勁的話,就當我沒說過,那就得另當別論了。

(七) 數(shù)據(jù)結(jié)構(gòu)要設(shè)計合理
a) 數(shù)據(jù)結(jié)構(gòu)要設(shè)計合理,如果數(shù)據(jù)結(jié)構(gòu)設(shè)計不合理的話,不管你的程序?qū)懙亩嗑洌瑢懙梦胰菀,也不是不能發(fā)揮其最大作用與價值的。這就相當于一個女人的胸部最大最豐滿,但人不夠高,而且又黑,身體又不好,身架又殘疾,你會說她美麗完美嗎?程序也一樣,有些代碼沉長又不起作用,存在也沒有什么用。數(shù)據(jù)結(jié)構(gòu)要精簡明了。

(八) 數(shù)據(jù)校驗應在服務(wù)器端

a) 數(shù)據(jù)校驗應在服務(wù)器端,這是因為就算是他人不從我們的頁面輸入數(shù)據(jù),自己做了個鏈接地址(GET)或自己做了個表單用POST方式傳送數(shù)據(jù),我們的程序也將進入核對查驗。若是放在客戶端,他人就能用以上方法逃過審核了。但這樣做也有他不好之處,那就是當數(shù)據(jù)量大時,服務(wù)器會負載運行,審核數(shù)據(jù)完整性是可開銷時間與系統(tǒng)資源的。在客戶端就不會占用服務(wù)器太多的資源,因為他占用的是用戶的資源。

(九) 連接數(shù)據(jù)庫近晚,斷開連接近早
a) 連接數(shù)據(jù)庫近晚,斷開連接近早,這主要是因為連接數(shù)據(jù)是要時間的吧?連接上了不即時使用也要占用系統(tǒng)資源吧?連接數(shù)據(jù)庫連接數(shù)量是有限制的吧?所以得盡晚連接,盡早斷開連接,這個做能使占用系統(tǒng)資源最少,為下一次連接提供條件。

(十) 盡量少使用SESSION與COOKIE
a) 盡量少使用SESSION與COOKIE,因為使用SESSION是要占用系統(tǒng)資源的,SESSION是存儲在服務(wù)器端的,每次讀取SESSION中的數(shù)據(jù)是要較大開銷的。COOKIE雖然不占用服務(wù)器資源,但COOKIE不太安全。


OK,就說到此吧。此文純屬個人看法,不符之處請多多指導,諒解!




相關(guān)文章