asp.net兩層和三層架構

來源:互聯網
上載者:User

兩層模型:

     兩層模型的設計是顯示層和資料訪問層。顯示層就是應用程式的使用者介面(.aspx)和這些介面的程式碼後置類別(.cs),資料訪問層就是用來處理應用程式和資料庫、外部Web Service等互動的。這是asp.net開發中的輕量級模型,實現起來相對容易,所以兩層架構模型非常適合於商務邏輯簡單的項目(呵呵,所以不要聽到人家說三層的好就一股腦的啥子都用三層了。。。。)。

三層模型:

    三層模型是在兩層的基礎上添加了一個業務層。當一個項目需要實現較複雜的商務邏輯時候,我們如果還是用兩層的話會讓顯示層的程式碼後置類別(.cs)變得非常的龐大,因為所有的商務邏輯都必須在這個裡面實現,這樣某些程式碼後置類別可能多達幾千行,維護和修改起來會讓人崩潰的。。。。。還有一個問題就是在兩層中我們直接將資料庫中的資料放到DataTable或者DataSet中,然後將其中一些欄位作為資料來源直接付給Gridview之類的顯示控制項(例如:Label1.Text=dt.Rows[0]["id"].tostring()),假如我們修改了資料庫的某個欄位(例如前面的id欄位),那我們就必須在這幾千行代碼中找出使用了這個欄位的代碼然後將其改正,其工作量可想而知,在實際的程式開發中需求的變動和設計的修改是難免的。這個時候我們可以將應用程式的商務邏輯實現部分分離出來,寫在單獨的類中,這樣業務層就誕生了。顯示層的顯示的資料直接來自於商務邏輯層,而商務邏輯層的資料來自於資料庫,這樣就大大的降低耦合度,而且代碼也會變得更加簡單和易於維護(看來功能的分解是一個解決複雜問題的好辦法)。這下這三層的功能是:1.顯示層就只剩顯示標記以及和業務層互動的介面處理了。2.商務邏輯層負責按照商務規則處理資料,以便提供給顯示層。3.資料訪問層的作用和兩層架構中的不變,還是負責從資料庫擷取資料,以便提供給業務層處理。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.