Categories
程式開發

程序員必知的幾種軟件架構模式


架構模式是對給定上下文的軟件架構中常見問題的一種通用的可複用的解決方案。

一種模式就是特定上下文的問題的一種解決方案。

然而,很多開發者至今還對各種軟件架構模式之間的差別搞不清,甚至對其所知甚少。

大體上,主要有下面這幾種架構模式:

  • 分層架構
  • 管道-過濾器架構
  • 客戶端-服務器架構
  • 模型-視圖-控制器架構
  • 事件驅動架構
  • 微服務架構

程序員必知的幾種軟件架構模式

分層架構模式

最常見的架構模式就是分層架構或者稱為n層架構。

大部分軟件架構師、設計師和開發者都對這個架構模式非常熟悉。儘管對於層的數量和類型沒有具體限制,但大部分分層架構主要由四層組成:展現層、業務層、持久層和數據庫層,如下圖所示。

程序員必知的幾種軟件架構模式 1

一個很流行的n層架構示例

上下文

所有復雜的系統都會經歷獨立地發展和衍化系統各個部分的需要。出於這個原因,系統開發者需要對關注點進行清晰且條理分明的分離,以便系統的各個模塊可以獨立地開發和維護。

問題

軟件需要以這樣一種方式分割:各個模塊可以獨自開發和衍化,各自部分之間的交互非常少,支持可移植性、可修改性和復用性。

方案

為了實現關注點分離,分層模式將軟件分割成各個單元(稱為“層”)。每一層都是一組模塊,提供了一組高內聚的服務。其使用必須是單向的。層將一組軟件作為一個完整的分區,每個分區暴露一個公開接口。

原文鏈接:【https://www.infoq.cn/article/6Rx047oOHJlRdIPD1BC2】。未經作者許可,禁止轉載。