軟件體系結構設計
計算機硬件系統中包含的兩個重要因素:
- 基本硬件模塊:控制器、運算器、內存儲器、外存儲器、輸入設備……
- 硬件模塊之間的連接關係:總線(控制總線、地址總線、數據總線)
計算機系統體系結構的風格:
- SISD :單指令流單數據流 串行處理器
- SIMD :單指令流多數據流 並行處理器
- MIMD :多指令流多數據流 多處理器
什麼是體系結構?
軟件構件和構件之間的關係。
體系結構的例子
網絡爬蟲系統
原則
- 種子:初始的連接
- 爬取:爬取連接中的數據
- 解析:解析初始連接中的其他連接
- 爬取:……
……
架構描述 (AD)
架構文檔的產品的集合 稱爲 架構描述
四種常見視圖 (都屬於架構描述)
- 邏輯視圖:將系統分解爲一系列的抽象形式,多來自於問題域,如類圖、對象圖或功能層次結構圖。
- 過程視圖:關注系統動態運行時,主要是進程以及相關的併發、同步、通信等問題。
- 物理視圖:描述軟件到硬件的映射,反映了分佈式特徵。
- 開發視圖:開發環境中,圍繞靜態組織結構。使用構件圖、包圖。
架構風格:
描述領域中衆多系統所共有的結構和特性,並指導如何將各個模塊和子系統有效的組織成一個完整的系統。
分類:
- 數據中心架構
將數據進行中心存放,應用和應用之間不直接進行聯繫,所有的信息交換和操作,都建立在中心數據之上。
- 數據流架構 (管道過濾系統)
數據在流動時,需要filter進行加工和處理,而這個加工和處理是自動的。試用於批處理系統,不適用於交互類系統。
- 調用返回架構
面向對象的架構
特點:
每個對象都進行了特定的封裝,對外提供預留的接口,並隱藏內部數據的表示。
聯繫方法:
基於消息機制(本質是方法調用)建立對象間的聯繫。層次架構
特徵:
橫向聯繫,上下層調用。
不可以跨層調用。
好處:
讓複雜的問題變得簡單了。
客戶服務器架構
一個應用被分爲兩個邏輯上分離的部分,每個部分充當不同額角色、完成不同的功能。
- 客戶端:業務邏輯、與服務器通信的接口。
- 服務器:與客戶機通信的接口、業務邏輯、數據管理
MVC 架構
將應用程序中的應用邏輯、用戶界面、控制邏輯等分別放在獨立的構件中,從而使得任何一種構件的改變都不會對其他構件造成很大的影響。
消息總線架構
適用於消息訂閱發佈系統(廣播系統)。
利用消息總線來實現調用和交互。
本博客內容到此結束,歡迎指正!