軟體架構樣式
Kalyan Bandarupalli著,hystar翻譯
架構樣式是一套原則,你可以使用其來構建一個特定領域的典型的系統架構樣式。實現軟體架構樣式依賴於你的組織實現架構樣式的能力及基礎性約束。這邊文章解釋了基於一種需求應該選擇怎樣的架構樣式。 |
介紹
架構樣式是一套原則,你可以使用其來構建一個特定領域的典型的系統架構樣式。實現軟體架構樣式依賴於你的組織實現架構樣式的能力及基礎性約束。這邊文章解釋了基於一種需求應該選擇怎樣的架構樣式。
架構樣式
我們一種典型的做法是將多種樣式組合在一起定義一個完整的架構。例如分層架構可以與基於組件的,物件導向與SOA等樣式一起使用。
下面是一個常用的軟體架構樣式的列表。
用戶端\伺服器
當存在以下情況時,考慮使用這種樣式
- 這個應用是基於伺服器的且需要支援多個用戶端。
- 你正在構建通過瀏覽器開放的基於Web的應用
- 你想要對資料存放區,備份及管理功能中心化。
基於組件的
當遇到以下情況是考慮使用基於組件的架構
- 你的應用有特殊的需求,其不包含UI或業務處理。
- 你的應用執行預存程序這種幾乎沒有或者很少輸入的函數
- 你要建立一個可插拔的架構,其允許你將單獨的組件進行更新或替換。
分層
當遇到以下情況時可以考慮使用分層架構
- 你的應用很複雜
- 你想要提高應用的可維護性與可擴充性。
- 你的應用支援不同類型的用戶端及不同的裝置。
訊息匯流排
當存在以下情況時,考慮使用這種樣式
- 你現有的程式與其它程式進行互動來完成一些任務。
- 你正在實現一個需要與外部應用互動的應用
- 你正在實現一個發行者\訂閱者應用
MVC架構樣式
當存在以下情況時,考慮MVC樣式
- 你想要提高UI的可測試性並使UI的維護更簡單
- 你想要將UI元素與UI處理代碼相分離
- 你的UI處理代碼並未實現任何商務邏輯。
SOA
當遇到以下情況是考慮面向服務的架構樣式:
- 你想要消費一個第三方暴露的服務。
- 你想要構建一個應用將一系列不同的服務組合到一個單獨的UI中
- 你要建立一個SaaS(軟體即服務)應用。
- 你要通過一個可發現的目錄暴露服務。
本人才疏學淺,難免出現翻譯錯誤,請不吝賜教。