軟體架構設計系列總結 3 邏輯層 vs 物理層

2021-06-10 10:28:48 字數 957 閱讀 9559

layer 和tier都是層,但是他們所表現的含義不同,tier指的是軟體系統中物理上的軟體和硬體,具體指部署在某伺服器上,而layer(邏輯層)指軟體系統中完成特定功能的邏輯模組,邏輯概念。

layer是邏輯上 組織**的形式。比如邏輯分層中表現層,服務層,業務層,領域層,他們是軟體功能來劃分的。並不指代部署在那台具體的伺服器上或者,物理位置。

tier這指**執行部署的具體位置,是乙個物理層次上的劃為,tier就是指邏輯層layer具體的執行位置。所以邏輯層可以部署或者遷移在不同物理層,乙個物理層可以部署執行多個邏輯層。

從layer和tier就會延伸到邏輯架構和物理架構。我們乙個邏輯分層(n-layer)的部署執行環境可以在一台或者是多台伺服器,由於物理環境的多樣性,邏輯層次的部署也具有多樣性。這就需要我們必須了解物理架構和邏輯架構。

大多數情況下我們所說的n層應用系統指的是物理模型,具體模組的分布物理位置。客戶端,服務層,邏輯層,資料庫伺服器,與我們的邏輯模型之間並不是一對一的關係。邏輯上的分層架構與物理位置上的伺服器數量和網路邊界多少無關,邏輯架構層次只與我們的功能劃分相關,是按照功能劃分。經典的3-layer架構:表現層,業務層,資料訪問層,他們可能執行在同一物理位置上。也可以是3臺計算機上,這並不是邏輯架構所關注的。邏輯層次和物理分層數量關係為:邏輯層數必須不小於物理層數,因為乙個物理層可以部署乙個或者多個邏輯層次,邏輯層次只能遷移在不同的物理環境。

邏輯層次的架構能幫助我們解決邏輯耦合,達到靈活配置,遷移。

乙個良好的邏輯分層可以帶來:

邏輯組織**

易於維護

**更好的重用

更好的團隊開發體驗

**邏輯的清晰度

乙個良好的物理架構可以帶來:

效能的提公升

可伸縮性

容錯性

安全性

邏輯層次越多會影響程式執行的效能,但**層次的低耦合,鬆散化,是需要架構師的權衡的,我覺得一般應用程式的瓶頸並不在這裡。

軟體架構設計系列總結 3 邏輯層 vs 物理層

layer 和tier都是層,但是他們所表現的含義不同,tier指的是軟體系統中物理上的軟體和硬體,具體指部署在某伺服器上,而layer 邏輯層 指軟體系統中完成特定功能的邏輯模組,邏輯概念。layer是邏輯上 組織 的形式。比如邏輯分層中表現層,服務層,業務層,領域層,他們是軟體功能來劃分的。並不...

軟體架構設計系列總結

出處 架構引用 維基百科 軟體體系結構是構建 計算機軟體 實踐的基礎。與建築師設定建築專案的設計原則和目標,作為繪圖員畫圖的基礎一樣,乙個 軟體架構師 或者系統架構師 陳述軟體構架以作為滿足不同客戶需求的實際系統設計方案的基礎。從和目的 主題 材料和結構的聯絡上來說,軟體架構可以和建築物的 架構相比...

軟體架構設計系列總結 8 資料訪問層簡述

在前面簡單描述了下 服務層,soa面向服務架構,架構設計 業務邏輯層,以及一些面面向設計原則理解和軟體架構設計箴言。這篇部落格我們將繼續進入我們的下一層 資料訪問層。無論你用的是什麼開發模式或者是業務模式,到最後最必須具有持久化機制,持久化到持久化介質,並能對資料進行讀取和寫入crud。這就是資料訪...