三層架構之初識廬山真面目

2021-09-06 09:55:43 字數 1909 閱讀 7951

一、概念:

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

1、表現層(ui):是展現給使用者的介面。

2、業務邏輯層(bll):針對具體問題的操作,也可以說是對資料層的操作,對資料業務邏輯處理。

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

二、原理:

3個層次中,系統主要功能和業務邏輯都在業務邏輯層

進行處理。

解析:三層體系的應用程式將業務規則、資料訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與資料庫進行互動,而是通過com/dcom通訊與中間層建立連線,再經由中間層與資料庫進行互動。

三層是指邏輯上

的三層,而不是物理上的三層!

解析:所謂三層體系結構,是在客戶端與資料庫之間加入了乙個「中間層」,也叫元件層。這裡所說的三層體系,不是指物理上的三層,不是簡單地放置三颱機器就是三層體系結構,也不僅僅有b/s應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一台機器上。

三、各層的作用

1、表現層:

位於最外層(最上層),離使用者最近。用於顯示資料和接收使用者輸入的資料,以及資料的返回,為使用者提供一種互動式操作的介面。 

2、業務邏輯層(businesslogic layer)

是針對具體的問題的操作,也可以理解成對資料層的操作,對資料業務邏輯處理。主要集中在業務規則的制定、業務流程的實現等與業務需求有關的系統設計,也即是說它是與系統所應對的領域(domain)邏輯有關。很多時候,也將業務邏輯層稱為領域層。

業務邏輯層在體系架構中的位置很關鍵,它處於資料訪問層與表示層中間,起到了資料交換中承上啟下的作用。由於層是一種弱耦合結構,層與層之間的依賴是向下的,底層對於上層而言是「無知」的,改變上層的設計對於其呼叫的底層而言沒有任何影響。

3、資料層

資料訪問層:有時候也稱為是持久層,主要功能是對原始資料(資料庫或者文字檔案等存放資料的形式)的操作層,而不是指原始資料,也就是說,是對資料的操作,而不是資料庫,具體為業務邏輯層或表示層提供資料服務。簡單的說法就是實現對資料表的select,insert,update,delete的操作。

四、優缺點

1、優點

1)  開發人員可以只關注整個結構中的其中某一層;

2)  可以很容易的用新的實現來替換原有層次的實現;

3)  可以降低層與層之間的依賴;

4)  有利於標準化;

5)  利於各層邏輯的復用。

6)  結構更加的明確

7)  在後期維護的時候,極大地降低了維護成本和維護時間。

2、缺點

1)  降低了系統的效能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪資料庫,以此獲取相應的資料,如今卻必須通過中間層來完成。

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

3)  增加了開發成本。

不識廬山真面目

那時候,公司的研發組織結構是矩陣式的。也就是說,存在乙個研發中心這樣的組織,來管理所有的研發資源,資源分為三類 需求 開發 測試。而在其下面,又分n個專案組,每個專案組,會從研發中心,借調需求 開發 測試若干人等,組織成乙個對市場提供產品的專案組。公司做的產品,所以很多專案組的存在時間會比較長。而有...

2 1 的廬山真面目

如果我們想儲存程式的列印資訊,為了儲存完整的列印資訊,通常我們會使用以下命令。那這個該怎麼理解呢?command 2 1 tee log command log 2 1 2 1 的意思是將command 過程中列印的標準輸出和標準錯誤 一併重定向至log檔案中。q 那什麼是標準輸出和標準錯誤,什麼是...

揭開AssetBundle廬山真面目 一

1 常用打包api public static bool buildassetbundle object mainasset,object assets,string pathname,out uint crc,buildassetbundleoptions assetbundleoptions,b...