關於分層架構的知識學習

 

1. 什麼是分層架構程序員

  分層架構是一種很常見的架構模式,它也叫N層架構。這種架構是大多數Jave EE應用的實際標準,所以不少的架構師,設計師,還有程序員都知道它。許多傳統IT公司的組織架構和分層模式十分的類似。因此它很天然的成爲大多數應用的架構模式。數據庫

2. 模式分析架構

  分層架構模式裏的組件被分紅幾個平行的層次,每一層都表明了應用的一個功能(展現邏輯或者業務邏輯)。儘管分層架構沒有規定自身要分紅幾層幾種,大多數的結構都分紅四個層次:展現層,業務層,持久層,和數據庫層。有時候,業務層和持久層會合併成單獨的一個業務層,尤爲是持久層的邏輯綁定在業務層的組件當中。所以,有一些小的應用可能只有3層,一些有着更復雜的業務的大應用可能有5層或者更多的分層。測試

 分層架構中的每一層都有着特定的角色和職能。操作系統

  舉個例子,展現層負責處理全部的界面展現以及交互邏輯,業務層負責處理請求對應的業務。架構裏的層次是具體工做的高度抽象,它們都是爲了實現某種特定的業務請求。好比說展現層並不須要關心怎樣獲得用戶數據,它只需在屏幕上以特定的格式展現信息。業務層並不關心要展現在屏幕上的用戶數據格式,也不關心這些用戶數據從哪裏來。它只須要從持久層獲得數據,執行與數據有關的相應業務邏輯,而後把這些信息傳遞給展現層。設計

  分層架構的一個突出特性是組件間關注點分離 (separation of concerns)。一個層中的組件只會處理本層的邏輯。好比說,展現層的組件只會處理展現邏輯,業務層中的組件只會去處理業務邏輯。多虧了組件分離,讓咱們更容易構造有效的角色和強力的模型。這樣應用變的更好開發,測試,管理和維護。中間件

3. 分層模式用來解決什麼問題?開發

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

  典型的分層方式是應用程序專用功能位於上層,跨越應用程序領域的功能位於中層,而配置環境專用功能位於低層。層的數量與組成取決於問題領域和解決方案的複雜程度。一般而言只有一個應用程序專用層。應當把子系統組織成分層結構,架構的上層是應用程序專用子系統,架構的低層是硬件和操做專用子系統,中間件層是通用服務。
對系統進行分層有以下基本原則:
  ●可見度。各子系統只能與同一層及其下一層的子系統存在依賴關係。 
  ●易變性。最上層放置隨用戶需求的改變而改變的元素。最底層放置隨實施平臺(硬件、語言、操做系統、數據庫等)的改變而改變的元素。中間的夾層放置普遍適用於各類系統和實施環境的元素。若是在這些大類中進一步劃分有助於對模型進行組織,則添加更多的層。 
  ●通用性。通常將抽象的模型元素放置在模型的低層。若是它們不針對於具體的實施,則傾向於將其放置在中間層。 
  ●層數。對於小型系統,三層就足夠了。對於複雜系統,一般須要5-7層。不管複雜程度如何,若是超過10層,就須要慎重考慮了。層數越多,越需慎重。架構模式

相關文章
相關標籤/搜索