知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 網(wǎng)站建設 >
Web開發(fā)學習體會
發(fā)表時間:2005-2-1
發(fā)布人:葵宇科技
瀏覽次數(shù):39
Web開發(fā)學習體會
這段時間一直在學習使用vss.net做web方面的東西,稍微有些感觸,主要是如下幾方面的:
1. web及B/S開發(fā)思想、模式
由于起初對HTML語言沒有多少了解,所以剛拿到一些例子,特別是那些諸如JAVASCRIPT等客戶端腳本無從下手,甚至一個簡單的頁面都要花很長一段時間來處理。再者,長時間受C/S開發(fā)模式的影響,在WEB開發(fā)過程中時常會自覺不自覺的用C/S的思維考慮一些B/S開發(fā)特有的東西,遇到很多在C/S模式中看似十分簡單而到web編程的時候就感到特別痛苦,甚至無法實現(xiàn);正因為受到這種思想的束縛,我們近期在開發(fā)的《智合論壇系統(tǒng)》遇到了很多麻煩,造成系統(tǒng)整體框架不合理、系統(tǒng)界面十分丑陋、系統(tǒng)運行效率低下、系統(tǒng)安全性低下等一系列后遺癥,但是在這次論壇開發(fā)中我還是得到的挺多啟發(fā):
a) Web系統(tǒng)的觀念需要正確對待,它已經(jīng)不是單純的一個技術系統(tǒng),它涉及了html、美工(web設計)、框架設計等,當然國內(nèi)外有很多軟件公司是數(shù)據(jù)庫、系統(tǒng)代碼、美工、網(wǎng)頁設計等都是分工合作的,但是我個人認為程序員的能力是來自多方面的,我想更多的武裝才能有更好的成就和競爭力度,所以經(jīng)常自我提醒,在以后的開發(fā)過程中要盡量把以上提到的各個部分做到盡善盡美,不要老覺得只要把代碼寫好就行,界面是美工的事;
b) 在開發(fā)web應用的過程中,團隊間的合作更為重要,比傳統(tǒng)的C/S開發(fā)相互間的協(xié)作更多了,因此交流相當重要,以這次論壇開發(fā)為例,由于開發(fā)前約定的一些事項沒有得到嚴格執(zhí)行,造成許多重復勞動,甚至一度導致系統(tǒng)運行失敗;這里特別提醒在以后開發(fā)中,一些公用的組件、類、控件、接口等最好能由全體組員討論得出,修改過程一定要慎重,有必要的外部接口必須加上方法級注釋;
c) 采用B/S模式開發(fā)應用,對數(shù)據(jù)安全、并發(fā)控制的要求十分之高,C/S方式?jīng)]法比擬,而我們本次的論壇開發(fā)過程中一直采用的是對數(shù)據(jù)進行簡單加密,沒有找到行之有效的方法加以解決,系統(tǒng)安全問題是個很大的隱患,希望通過今后學習探索能找到解決措施;
d) 我個人認為采用web開發(fā)模式重要的是理解什么是B/S,它的優(yōu)點以及限制,這樣在實際的應用中才能得心應手。模式是一些優(yōu)秀的面向?qū)ο蠓椒ǖ目偨Y(jié),這些東西要靈活使用,不能為了模式而模式;
e) 我覺得在學一門新語言、一個新開發(fā)工具的時候一定要逐步養(yǎng)成一些好習慣,ASP.NET也不例外。在ASP.NET的開發(fā)中,可以學習的技巧不少,但是,一些基本的編程習慣我們一定要養(yǎng)成,這樣不但能根本上提高程序質(zhì)量和開發(fā)效率,而且也利于程序的閱讀和團隊開發(fā)。如果自己寫的程序只有自己可以看懂或者只有幾個人可以看懂,即使程序技巧神乎其技,對于程序的升級和維護都是致命問題。開發(fā)過程中諸如:錯誤處理、字符串的處理、數(shù)據(jù)庫鏈接及關閉時機等一些影響到系統(tǒng)性能的處理一定要養(yǎng)成比較好的習慣,特別是數(shù)據(jù)庫操作方面的習慣,一定要堅持“盡晚開啟,盡早關閉”的原則,因為WEB應用面對的用戶群體肯定比傳統(tǒng)的C/S要大,保證系統(tǒng)性能是十分重要的;
2. .net Framework 框架
.net framwork是一個龐大而完整的類庫,幾乎涵蓋了所有的開發(fā)領域,里面不但有很多可以使用的地方,也有很多值得學習的地方,比如如何組織各個類之間的協(xié)作關系等等。
在這個框架用的最多的也就是ADO.NET部分的東西了,而說到ADO.NET不得不提DataGrid、DataSet、DataReader、DataAdapter一些重量級的控件、類,這使許多數(shù)據(jù)交互提供了極大的便利,這次開發(fā)過程中用到的東西有限,主要DataSet、DataGrid、DataReade反復使用,而且值得檢討的是一直沒深入研究這幾個好東西,不過關于DataGrid在使用過程中學到了一些比較好的用法,比如模板列、分頁功能等,功能的確強大,細節(jié)上的東西就不在這贅述了。
3. 在實際開發(fā)過程中的一些小問題
在開發(fā)過程中,通過摸索查資料,收集了一些值得提出來的經(jīng)驗:
a) 相對于原來的for語句foreach具有更好的執(zhí)行效率,foreach的平均花費時間只有for的30%。通過測試結(jié)果在for和foreach都可以使用的情況下,我們推薦使用效率更高的foreach。另外, 用for寫入數(shù)據(jù)時間大約是讀取數(shù)據(jù)時間的10倍左右;
b) 在asp.net程序中,使用sa賬號的是一種非常不安全的做法,它具有在數(shù)據(jù)庫上執(zhí)行任何操作的權(quán)限。黑客可以調(diào)用類似于xp_cmdshell這樣的擴展存儲過程進行攻擊;
c) 在處理數(shù)據(jù)交互的時候,盡量將組織SQL語句的處理放到中間層(比如專門的數(shù)據(jù)操作類、存儲過程等),這是防止注入式攻擊的有效方法;
d) 避免到服務器的不必要的往返過程。使用 Page.IsPostBack 避免對往返過程執(zhí)行不必要的處理;
e) 一定要禁用調(diào)試模式;
f) 一般情況下,讀取大量數(shù)據(jù),對返回數(shù)據(jù)不做大量處理用SqlDataReader.對返回數(shù)據(jù)大量處理用DatSet比較合適.對SqlDataReader和DataSet的選擇取決于程序功能的實現(xiàn);
g) 數(shù)據(jù)綁定建議使用<%# ctype(Container.DataItem,DataRowView).Row("字段名") %>。數(shù)據(jù)量大的時候可提高幾百倍的速度;
以上僅僅是個人的部分收集,個人觀點很不全面,有些內(nèi)容還顯得十分空洞,或許還有錯誤,希望在以后的學習實踐中繼續(xù)進步、繼續(xù)積累。
相關案例查看更多
相關閱讀
- 云南網(wǎng)站建設開發(fā)
- 前端開發(fā)
- 云南小程序開發(fā)公司
- web開發(fā)
- 昆明軟件定制公司
- 網(wǎng)站建設需要多少錢
- 報廢車拆解系統(tǒng)
- 云南網(wǎng)站建設服務
- 報廢車回收管理軟件
- 智慧農(nóng)貿(mào)市場
- 云南小程序開發(fā)
- 云南etc小程序
- 人口普查小程序
- 云南網(wǎng)站建設首選公司
- 汽車報廢回收管理系統(tǒng)
- 汽車報廢回收管理軟件
- 網(wǎng)站建設首頁
- 汽車回收管理
- 排名
- web服務
- Web開發(fā)框架
- 網(wǎng)站建設首選
- 微信分銷
- .net網(wǎng)站
- 云南省住房建設廳網(wǎng)站
- 小程序開發(fā)費用
- 汽車報廢回收軟件
- 昆明小程序開發(fā)
- 百度快速排名
- 云南網(wǎng)站建設電話