《企業應用架構模式》 分層

2021-05-08 19:43:37 字數 1189 閱讀 3780

在系統的分層組織方式下,上層通過介面使用下層定義的各種服務,下層對上層一無所知。每一層都對自己的上層隱藏其下層的細節,因此第4層無需知道第2層的細節。

分層的好處:

1.可以專注理解某一層,無需過多了解其他層次;

2.可以替換某層的具體實現,只要前後提供的服務(介面)相同即可;

3.可以將層次間的依賴性減到最低。如果第2層改變了,只要第3層不變,第4層及以上各層都無需改變;

4.分層有利於標準化工作。行業標準自不必說,即使企業、專案內部也可以據此進行標準化;

5.對於構建良好的層次,其上層呼叫和表現形式可以多樣化。

分層的缺點:

1.層次並不能封裝所有的東西,有時會帶來級聯修改。例如要在介面上增加顯示的資料項,則需要在資料庫中增加字段,中間的每一層都會因此改變;

2.過多的分層可能會影響效能。

分層中最困難的問題是確定建立哪些層次,以及每個層次的功能職責。

分層中常用的兩個詞語是layer和tier,通常將tier理解為物理上的分離,而layer則更多表示邏輯上的分離。

三個基本的層次是:表現層、領域層、資料來源層。

1.表現層是系統為外界提供服務的介面。通常處理使用者與軟體之間的互動,向使用者顯示資訊並將從使用者那裡獲取的資訊解釋成領域層或資料來源層上的各種操作;也可能是為其他系統或軟體提供服務,如webservice等;

2.資料來源層是系統從外界獲取服務的介面。主要處理與其他系統的互動,可以是事務監控器、其他應用、訊息系統,最常用的則是資料庫;

3.領域層(業務層)處理業務相關邏輯,是表現層與資料來源層溝通的橋梁。主要職責包括資料驗證、運算,以及為表現層提供服務並呼叫資料來源層的服務。

如何分層取決於應用的複雜程度:

1.對於簡單應用,可以在子程式級別進行分層,不同的子程式分別處理介面操作、資料訪問和資料處理;

2.對於稍複雜的應用,可以在類級別進行分層;

3.對於更複雜的情況,則需要在模組級進行分層。

關於分層依賴性的普遍原則:領域層和資料來源層絕對不要依賴於表現層!

區分領域邏輯比較困難,可用的測試方法是:考慮向系統中增加完全不同的新層、考慮替換資料來源格式等,將會劇烈變化的處理邏輯放入領域層中。

在系統部署的時候,需要考慮各層如何部署。需要考慮的因素包括系統響應性、網路連線、資料同步、客戶端公升級維護、瀏覽器相容性等。

系統開發時需要防備的複雜性增壓器:分布式處理、顯式多執行緒、范型差異、多平台協同開發、極限效能要求。

企業架構模式 mdash mdash 分層

一 分層設計的基本概念 在分解複雜的軟體系統時,軟體設計者用的最多的技術之一就是分層。在計算機體系機構中,可以看到,到處都有分層的例子,最為典型的,就是儲存器的層次結構,如圖所示 圖1 計算機儲存器的層次模型 可以看到,儲存器的層次結構是按訪問速度 儲存容量等引數劃分的,不同的層次有不同的職責。cp...

接觸《企業應用架構模式》

國慶七天的長假,過得有些昏昏冉冉。那麼期待的長假,在狠狠飽睡幾天之後居然有點想上班了,唉,真是 j 啊 前天去南山新開業的書城,沒有找到 企業應用架構模式 martin fowler著 呵,今天早上在 china pub 上下了訂單,中午就收到書了。趕快看了前面幾章,真是暢快之極啊!雖然有些東西我也...

分層與架構模式

1 企業應用計算的演變 這個我們應該是在學html的時候就已經學習了一部分了,現在再來回憶一些理論知識!主機 啞終端的集中計算模式 大型主機管理和控制應用程式的所有方面,包括業務處理 資料管理和螢幕顯示。使用者一般通過只有乙個螢幕 乙個鍵盤和一根主機連線線的 啞終端 與主機的應用程式進行互動。缺點 ...