分層架構

分層(Layer)模式是最多見的一種架構模式。甚至說分層模式是不少架構模式的基礎,本章下面講到的一些內容實際上都和分層模式相關聯。數據庫


  分層描述的是這樣一種架構設計過程:從最低級別的抽象開始,稱爲第1層。這是系統的基礎。經過將第J層放置在第J-1層的上面逐步向上完成抽象階梯,直到到達功能的最高級別,稱爲第N層。瀏覽器

於是分層模式就能夠定義爲:將解決方案的組件分隔到不一樣的層中。每一層中的組件應保持內聚性,而且應大體在同一抽象級別。每一層都應與它下面的各層保持鬆散耦合。服務器

 

分層模式的關鍵點在於肯定依賴:即經過分層,能夠限制子系統間的依賴關係,使系統以更鬆散的方式耦合,從而更易於維護。網絡

 

相對於分層,還有一種概念叫分區。分層是對架構的橫向劃分,而分區是對架構的縱向劃分。架構

  典型的分層方式是應用程序專用功能位於上層,跨越應用程序領域的功能位於中層,而配置環境專用功能位於低層。層的數量與組成取決於問題領域和解決方案的複雜程度。一般而言只有一個應用程序專用層。應當把子系統組織成分層結構,架構的上層是應用程序專用子系統,架構的低層是硬件和操做專用子系統,中間件層是通用服務。操作系統

 

對系統進行分層有以下基本原則:架構設計

— 可見度。各子系統只能與同一層及其下一層的子系統存在依賴關係。設計

— 易變性。最上層放置隨用戶需求的改變而改變的元素。最底層放置隨實施平臺(硬件、語言、操做系統、數據庫等)的改變而改變的元素。中間的夾層放置普遍適用於各類系統和實施環境的元素。若是在這些大類中進一步劃分有助於對模型進行組織,則添加更多的層。3d

— 通用性。通常將抽象的模型元素放置在模型的低層。若是它們不針對於具體的實施,則傾向於將其放置在中間層。中間件

— 層數。對於小型系統,三層就足夠了。對於複雜系統,一般須要5-7層。不管複雜程度如何,若是超過10層,就須要慎重考慮了。層數越多,越需慎重。


常見的分層架構模式
1.客戶端-服務器模型(Client-Server,C/S)。

2.三層模型:用戶表示層、業務邏輯層、數據層。

3.多層結構的技術組成模型:表現層、中間層、數據層。

4.網絡系統經常使用三層結構:核心層、匯聚層和接入層。

5.RUP典型分層方法:應用層、專業業務層、中間件層、系統軟件層。

6.基於Java的B/S模式系統結構:瀏覽器端、服務器端、請求接收層、請求處理層。

7.某六層結構:功能層(用戶界面)、模塊層、組裝層(軟件總線)、服務層(數據處理)、數據層、核心層。

相關文章
相關標籤/搜索