資料庫連線的三層架構

2022-07-19 02:06:14 字數 1869 閱讀 8114

一、什麼是三層架構

1.概念

三層架構(3-tier architecture) 通常意義上的三層架構就是將整個業務應用劃分為:表現層(ui)、業務邏輯層(bll)、資料訪問層(dal)。區分層次的目的即為了「高內聚,低耦合」的思想。

分層(tier)

概念 表現層(ui)

通俗講就是展現給使用者的介面,用於顯示資料和接受使用者輸入的資料;即使用者在使用乙個系統的時候他的所見所得。

業務邏輯層(bll)

針對具體問題的操作,也可以說是對資料層的操作,對資料業務邏輯處理。是表示層和資料訪問層之間的橋梁。

資料訪問層(dal)

該層所做事務直接運算元據庫,針對資料的增添、刪除、修改、查詢等。

資料庫實體類(entity)

對資料物件進行封裝,也有一些簡單的功能

2.各層的作用

分層作用

表現層(ui)

主要表示web方式,也可以表示成winform方式,web方式也可以表現成:aspx,如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。

業務邏輯層(bll)

主要是針對具體的問題的操作,也可以理解成對資料層的操作,對資料業務邏輯處理,如果說資料層是積木,那邏輯層就是對這些積木的搭建。

資料訪問層(dal)

主要是對原始資料(資料庫或者文字檔案等存放資料的形式)的操作層,而不是指原始資料,也就是說,是對資料的操作,而不是資料庫,具體為業務邏輯層或表示層提供資料服務

由上表可以看出,多出的乙個資料庫實體類(entity),他在三層中並不是作為一層而存在的,而是作為乙個類庫,起到封裝資料庫表的作用。

3.各層以及類庫之間的關係

二、為什麼要用三層架構?

1.分析

層次結構在現實社會中隨處可見。記得有個笑話講有個村長得意的向他的老婆吹牛:「全中國比我官大的只有四個人,鄉長、縣長、省長和***總理」,這個笑話體現了真實社會的分層現象,社會人群會分層,公司管理人員結構也會分層,

樓房是分層的,甚至做包子的籠屜也是分層的,雖然分層的目的各有不同,但都是為了解決某一問題而產生的,所以分層架構是為了解決某一問題而產生的解決方案。

社會分工的優勢:讓適合的人做自己最擅長的事情,縮短勞動時間,提高勞動效率。人盡其才,物盡其用。軟體開發也一樣,開發小專案,也許分層與不分層也許看不出多大的差別來,分層可能顯得更加囉嗦,但是當開發乙個複雜的專案時,分層的優勢就顯示出來了。

舉個例子:我們重構機房收費系統,需要進行資料庫的訪問,在不分層的情況下,就會出現大量重複的**,無非就是資料庫的增、刪、改、查,這些重複的**可以適用於多個模組,就是欄位名和數量不一樣。光敲這些重複的**就得花去我們不少的時間,何況我們的機房收費系統還只是乙個不大的專案。如果是乙個較大的專案呢?

每乙個事物有優點必有缺點,分層架構的缺點主要有以下兩點:

1)、分層也一樣,如果不分層,很多業務可以直接訪問資料庫,獲得資料,而現在卻必須通過中間層來訪問,從而降低了系統執行效能。

2)、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加乙個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和資料訪問層中都增加相應的**。

不過分層架構的利大於弊。

2.結束語

在軟體體系架構中,分層式結構是比較容易懂的也是最常見的乙個結構,而三層結構又是分層結構裡面最常見的一種分層方式,也是microsoft推薦的分層式結構。分層式結構還有其他模式例如mvc,了解和熟悉三層架構之後,學習其他架構會顯得比較容易,讓我們先從最容易理解的學起。

資料庫 三層架構

資料層 dal 業務邏輯層 bll 表示層 ui 三層結構原理 3個層次中,系統主要功能和業務邏輯都在業務邏輯層進行處理。所謂三層體系結構,是在客戶端與資料庫之間加入了乙個 中間層 也叫元件層。這裡所說的三層體系,不是指物理上的三層,不是簡單地放置三颱機器就是三層體系結構,也不僅僅有b s應用才是三...

資料庫的三層架構

關於 三層架構 通常意義上的三層架構 就是將整個業務應用 劃分為 表現層 ui 業務邏輯層 bll 資料訪問層 dal 區分層次的目的 即為了 高內聚,低耦合 的思想。表現層 ui 通俗講就是展現給使用者的 介面 即使用者在使用乙個系統的時候他的所見所得。業務邏輯層 bll 針對具體問題的操作,也可...

資料庫的三層架構

三層模式體系結構和資料獨立性 第1.3節中列出了資料庫方法的4個重要特點,其中有以下3個特點 1 程式與資料分離 程式 資料獨立性和程式 操作獨立性 2 支援多使用者檢視 3 使用編目儲存資料庫描述 模式 在這一節中,我們將為資料庫系統指定乙個體繫結構,這稱為三層模式體系結構 three schem...