Web技術四層結構

2021-04-21 10:35:39 字數 2027 閱讀 8283

如果你的系統是大型的軟體開發,那你就要做好更多層的分解,但是原則和理論上,我認為,不用分得太細。我們都知道,mvc模式把系統,分成model、view、controller。這樣的分法是把表示層同邏輯層分開,也就是說把頁面設計師同軟體設計師分開。系統分析師再把各個功能寫成介面,軟體設計師就可以通過業務邏輯來寫程式。

我所說的四層架構的分法,就是想把軟體設計師工作量降下來,減少重複性的**,提高開發速度,使軟體有相當好的可維護、易擴充套件,這種四層架構對多人開發同軟體來說,可以有個清晰的思路。我把系統分成表示層(ui)、業務邏輯層(bussiness)、資料訪問層(dataaccess)、資料實體層(dataenity)。如果你還考慮到資料庫設計的話,就是五層架構。我的出發點是從軟體設計師角度,所以說是四層。其中,最好把所有的儲存過程和sql語句都寫在資料庫裡,可以便於資料庫的改變的修改和維護,同時也可以減少程式中的不穩定性。接下來,就是講到如果更合理、更有效地把複雜的系統分析成多層,以達到系統的結構清晰、提高速度。

表示層主要就是做好合理的、適合客戶的頁面,這主要是美工的工作,程式設計師只需把對應的資料傳過去就行了。當然,這就是你對asp.net控制項的熟悉程度了。也是對微軟技術學習中慢慢積累起來的。如果客戶有需求你做電子商務,那你就要考慮用到web server,還要用到xml。從系統分析來說,表示層就是輸入操作與輸出操作的平台,你要把要輸入的資料轉換到下面一層及業務邏輯層(bussiness)要可以運算元據,和把下層業務邏輯層(bussiness)傳出的資料,轉成客戶想要的效果,格式有很多種:是office的格式(.doc/.exel等),還是圖形影象,還是報表等及其它格式。對web技術來說,我們要把頁面設計的一些元素統一管理,可以建立乙個圖書館(lib):放入(images)、指令碼放入(js)、css。其中還有上傳、附件 可以新建乙個資料夾(loadfilder)。做成這些程式設計外的準備以方便設計階段的有上清晰的認識。

資料訪問層(dataaccess)是.net的核心技術的運用,當從這層的表面意思,你應該知道,這是對資料進行底層和原始資料的操作,要把提高開發速度與質量就是做好資料訪問層的分析的優化。當然,業務邏輯層的業務邏輯分析很重要的,我現在討論的資料訪問層只對sql server資料庫的操作,不討論對其他資料庫的操作。對資料庫操作,要做到事務處理及異常捕獲,及各種不種資料庫之間聯絡。比如:對單錶的操作、對聯絡表的操作,對不同資料庫間的操作,從sql語句來說,就是做好insert、select、update、delete的應用,對資料庫的操作就是可以返回不同的資料型別,可是dataset、 datatable、datareader、bool等,在.net架構裡,可以把這一層基類寫詳細、寫完善,把它生成dll檔案。只要通過元件的引用就可以現實資料訪問的功能,所以你寫好了,就可以把資料訪問層的寫**量的時間省下來。資料訪問層主要是能對資料進行四種常用操作,也就是資料讀入輸出的作用,可以用sql語句,也可以用引數如:datatable的變通方法。程式設計的開發,就是從資料庫設計開始,這足以說明資料庫設計的關鍵。

現在來談談業務邏輯層(bussiness),我在學習其他的多層架構時,在想這多層架構嘛,只要乙個就夠了,只要能提高開發速度,達到可易維護性、可擴充套件,就行了。有一種架構,把頁面寫類庫完全分開,這就是用到codebehind技 術,在開源的時代,我個人認為這種**才是最好實現隱藏性把頁面與程式的徹底的分開,使系統有很大的擴充套件空間,這種方案有待下次討論,這裡先做個標記。此 層關係系統是否可用的關鍵層,越是關鍵就越覺得模式的重要性,一種做法是:同資料訪問層相對應,把概要設計分出的角色類新增方法、屬性、事件、索引、接 口。真正**的實現部分就在這裡,這是乙個智慧型的地方。可是沒有人注意到這一點,只認為這一些的**無非是對資料訪問層的一種重用。第二種做法是:定義接 口把它的**實現部分包裝起來。在這種做法中,可以用到多種設計模式。

有 的人把通用的基類及通用的函式到通用層,或是把通用的基類寫到各個層類。這是種不可取的方法。如果有乙個框架層(framework),這一層做什麼用的 呢?就是要通用的類庫集中在這層。也是乙個通用的基類,可以把一些常用的基類換在這層。也可以動態引用動態類庫。對軟體技術開發來說,對已有技術的一種引 用是一種聰明的做法、也最有效的做法。

分層分得太多可能會增加軟體的複雜程度。如果是小型性軟體,要的就是簡單與易用,沒有必要分太多,對於擴充套件性的問題,可以運用框架層來解決。

WEB技術之四層架構

如果你的系統是大型的軟體開發,那你就要做好更多層的分解,但是原則和理論上,我認為,不用分得太細。我們都知道,mvc模式把系統,分成model view controller。這樣的分法是把表示層同邏輯層分開,也就是說把頁面設計師同軟體設計師分開。系統分析師再把各個功能寫成介面,軟體設計師就可以通過業...

WEB技術之四層架構

如果你的系統是大型的軟體開發,那你就要做好更多層的分解,但是原則和理論上,我認為,不用分得太細。我們都知道,mvc模式把系統,分成model view controller。這樣的分法是把表示層同邏輯層分開,也就是說把頁面設計師同軟體設計師分開。系統分析師再把各個功能寫成介面,軟體設計師就可以通過業...

三層結構及WEB

以前,大多是在弄c s模式的程式 以為b s模式的就是指 就沒學這方面東東,唉 當時知識面真的好窄.所以搞的也是二層結構的設計,到現在還沒怎麼弄過三層結構設計 好暈.3層應用程式的解決方案 即將應用程式劃分為3層 每一層都通過一些定義好的介面與其他各層通訊 這3層一般來講在物埋上和邏輯上都是可以相互...