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

基于.net的迅速開發(fā)思想

[摘要]根據(jù).net的特點以及自己在項目開發(fā)過程中的經(jīng)驗初步總結(jié)了一套快速開發(fā)模式,希望能夠提高.net的開發(fā)效率?焖匍_發(fā)包括兩方面的目的:一是讓參與項目的程序員個體效率提高,二是讓項目整體的開發(fā)效率提高。首先是明確使用.net開發(fā)時候的系統(tǒng)架構(gòu),我自己將系統(tǒng)架構(gòu)設(shè)計為以下模型在我的系統(tǒng)模型中,核心層是...

根據(jù).net的特點以及自己在項目開發(fā)過程中的經(jīng)驗初步總結(jié)了一套快速開發(fā)模式,希望能夠提高.net的開發(fā)效率?焖匍_發(fā)包括兩方面的目的:一是讓參與項目的程序員個體效率提高,二是讓項目整體的開發(fā)效率提高。
首先是明確使用.net開發(fā)時候的系統(tǒng)架構(gòu),我自己將系統(tǒng)架構(gòu)設(shè)計為以下模型

基于.net的快速開發(fā)思想

在我的系統(tǒng)模型中,核心層是項目最基本的元件,包括了與數(shù)據(jù)庫進行的各種數(shù)據(jù)存取操作的基類A和B,項目中應(yīng)用的各種字符串操作函數(shù)(比如過濾危險字符)的一個類等。數(shù)據(jù)存取的基類A的實現(xiàn)參考了微軟的Data Access Application Block,關(guān)于Data Access Application Block可以看以下網(wǎng)址:

http://www.microsoft.com/china/msdn/archives/library/dnbda/html/daab-rm.asp

同時我在基類A上面派生了一個類B,它添加了NewRow(),Update()等一些方法,為上層的數(shù)據(jù)層提供了充分的支持。這個核心層將用于所有的項目中,它表現(xiàn)為一個編譯好的dll(我命名為common.dll),項目中的各個成員都可以引用它,從而使用它的各個方法。

數(shù)據(jù)層則對應(yīng)數(shù)據(jù)庫中的每一個表都創(chuàng)建一個類,同時表的每個字段在這個類中會對應(yīng)為類的一個屬性,該類繼承核心層中的數(shù)據(jù)存取類B,因此在這個類中實現(xiàn)了對表添加記錄、修改記錄等功能。

這里的問題是,既然是快速開發(fā)模式,當然對應(yīng)數(shù)據(jù)庫中表的這個類不應(yīng)該每次都手工生成。為此我專門寫了一個工具,可以簡單地填入數(shù)據(jù)庫連接的信息,讀取出該數(shù)據(jù)庫下面的所有用戶表,然后選擇需要的表自動生成符合要求的c#代碼。這樣就很好地解決了上面的問題,真正實現(xiàn)了快速開發(fā)。

至于中間的邏輯層,則可以按模塊為每個模塊編寫一個類,實現(xiàn)其中復(fù)雜的過程,或者將涉及到sql語句的代碼封裝在這里。

表現(xiàn)層則是具體的可以供用戶使用的UI界面,通常用戶最終看到的頁面都在這里。
這種開發(fā)思想不僅可以提高單個程序員的開發(fā)效率,也可以從整體上提高整個項目團隊的開發(fā)效率。我們可以適當和某種比較普遍使用的開發(fā)模型對比一下。

基于.net的快速開發(fā)思想

左邊是比較傳統(tǒng)的做法,在項目中,按模塊劃分給程序員,該程序員負責(zé)該模塊的所有代碼編寫。這種開發(fā)方式導(dǎo)致項目比較依賴個人,個人水平的差異也使得模塊質(zhì)量差別明顯。同時項目存在比較大的風(fēng)險,這主要是因為大家都直接訪問數(shù)據(jù)庫,可能會造成數(shù)據(jù)結(jié)構(gòu)的混亂。

右邊是我推薦的方式,最底層的數(shù)據(jù)層主要由主程序員負責(zé),大家統(tǒng)一調(diào)用。上面在分配給不同的程序員負責(zé)。同時這個模型還可以演變成,邏輯層也主要由個別主程序于負責(zé),表現(xiàn)層才交給不同的程序員去做。這個主要看項目的具體情況。