三層架構 循序漸進

2021-07-30 19:35:49 字數 2195 閱讀 7405

一、為什麼需要三層?

例項

服務員只管接待客人

廚師只管烹炒客人要的美食

採購員只管按客人需求採購

他們各負責其責

結論:

資料庫訪問和使用者型別判斷邏輯放在一起實現

使用者介面層直接呼叫資料訪問實現

整個系統功能放在同乙個專案中實現

二、三層結構基本的概念:

1、表現層(ui):通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。

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

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

各層作用:

資料資料訪問層:主要是對原始資料(資料庫或者文字檔案等存放資料的形式)的操作層,而不是指原始資料,

也就是說,是對資料的操作,而不是資料庫,具體為業務邏輯層或表示層提供資料服務.

業務邏輯層:主要是針對具體的問題的操作,也可以理解成對資料層的操作,對資料業務邏輯處理,如果說資料層

是積木,那邏輯層就是對這些積木的搭建。

表示層:主要表示web方式,也可以表示成winform方式,web方式也可以表現成:aspx,如果邏輯層相當強大和完善,

無論表現層如何定義和更改,邏輯層都能完善地提供服務。

三、三層的優缺點:

優點:

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

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

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

4、有利於標準化;

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

缺點:1、降低了系統的效能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪資料庫,以此獲取相應的

資料,如今卻必須通過中間層來完成。

2、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加乙個功能,為保證其設

計符合分層式結構,可能需要在相應的業務邏輯層和資料訪問層中都增加相應的**。

3、增加了開發成本。

四、三層架構規則:

1.系統各層次及層內部子層次之間都不得跨層呼叫。

2.entityobject 在各個層之間傳遞資料。

3.需要在ui層繫結到列表的資料採用基於關係的dataset傳遞,除此之外,應該使用entityobject傳遞資料。

4.對於每乙個資料庫表(table)都有乙個entityclass與之對應,針對每乙個entity class都會有乙個bem class與

之對應。

5.在數量上,bemclass比entity class要多,這是因為有些跨資料庫或跨表的操作(如複雜的聯合查詢)也需要由

相應的bem class來提供支援。

6.對於相對簡單的系統,可以考慮將businessclass 子層和business flow 子層合併為乙個。

7.ui層和bl層禁止出現任何sql語句。

五、三層之間依賴關係

六、三層之間的資料傳遞反向

七、三層結構原理:

3個層次中,系統主要功能和業務邏輯都在業務邏輯層進行處理。

所謂三層體系結構,是在客戶端與資料庫之間加入了乙個「中間層」,也叫元件層。三層體系的應用程式將業務

規則、資料訪問、合法性校驗等工作放到了中間層進行處理(如下圖)。通常情況下,客戶端不直接與資料庫進行交

互,而是通過com/dcom通訊與中間層建立連線,再經由中間層與資料庫進行互動。

Linux的循序漸進 三

基礎命令今天我們接著來看,作為一名運維,其實不用太過於著急,因為我們先講究的效率,其次才是速度,就好比你整天都在看書,但是效率卻極其低,還不如人家乙個小時的效率,那你還不如睡覺,好了,閒話我們也不說那麼多,我們的今天的目標是基礎命令全部過關,並且稍微深入部門高階命令,開始吧!輸出重定向 覆蓋輸出,會...

Linux循序漸進 1

第一課 什麼是linux 簡單地說,linux是一套免費使用和自由傳播的類unix作業系統,它主要用於基於i ntel x86系列cpu的計算機上。這個系統是由全世界各地的成千上萬的程式設計師設計和實現 的。其目的是建立不受任何商品化軟體的版權制約的 全世界都能自由使用的unix相容 產品。linu...

循序漸進學程式設計

軟體開發者是乙個日新月異的領域 it 中的大師,今天的程式設計方式與明天的程式設計或許截然不同,技術在不斷地革新,新語言 新平台的如雨後春筍般出現 更好的解決方案的冒出,因此我們需要跟得上節奏,我們沒有選擇,唯有努力提高自己。下面的幾點建議或許能幫助你成為乙個優秀地開發者。你是否聽說過 kaizen...