軟件體系架構


軟件體系結構

- 管道過濾器風格:

每個模塊都有一組輸入和輸出。功能模塊從輸入集合讀取數據流,在輸出集合產生數據流。其中,功能模塊稱為過濾器,功能模塊之間的連接可以看作輸入,輸出數據流之間的通路。過濾器獨立完成自己的功能,相互之間無需進行狀態交互。 
案例:C源代碼->預處理->編譯->匯編->鏈接->可執行文件。中間的四步驟即可以看作是四個模塊。

- 面向對象風格:

以一種更接近人類一般思維的方式去看待世界,把世界上的任何一個個體都看作是一個對象。一組具有相同屬性和方法的對象構成一個類。不同對象之間存在着通信和交互,以此構成系統的運轉。(特點就是抽象,繼承,封裝,多態)

- 事件驅動風格(預定發布風格):

對外部環境的系統行為可以實現為對事件的處理方法。對系統輸入一個事件,觀察其輸出,以達到分析系統的目的。可以方便的執行並發進程和多任務的操作,且具有良好的可擴展性(設計者只需給一個對象注冊一個事件接口並使這個系統納入系統即可)。缺點這個風格弱化了計算機系統對其的控制能力(系統發出一個事件,難以保證系統內的對象可以響應,或連續響應);並使系統內的邏輯關系復雜(結果依賴上下環境)。 
案例:JavaBean系統在事件驅動機制里會把一些構建作為事件源,這些構件產生接收事件,通過事件傳遞消息。 (事件監聽器)

- 分層風格:

一個分層系統采用多個層次組織。每一層都有兩個作用,首先為它的上層提供服務,其次,可以調用下層的功能。最高層不需要提供任何服務,最底層不會使用任何服務。分層是在實踐中逐漸分離(分解整個系統的功能)出來的且易於復用(只要接口一致)。
簡單模型:核心層(最底層)->功能層(中間層)->應用層(最高層) 
三層架構:表示層(用戶界面包)<->業務邏輯層(業務邏輯包)<->數據訪問層(數據訪問包)<->數據庫 
案例:計算機網絡ISO七層架構

- 數據共享風格(庫風格):

中央數據單元和外部構件的交互,中央數據單元代表當前系統的每個狀態,外部構件相互依賴,且可以操作中央數據單元。這種體系風格分為兩類: 
1. 基於傳統的數據庫式風格的應用系統:由輸入數據流的信息服務驅動。 
2. 基於黑板式風格的應用系統(對無解性問題進行架構):由風格庫的當前狀態驅動。主要包含三個構件:

  • 知識源:(條件:系統基於庫風格,完全依賴於庫中狀態的變化。)知識源是庫中主要的信息來源。
  • 中央數據單元:整個系統的核心組成部分,通過程序處理所需要的狀態。
  • 控制單元:知識源不斷向庫中輸入信息,由於知識的狀態改變,必須由控制單元觸發相應的操作。

- 解釋器風格:

解釋器風格為客戶端和服務端構件:當一些規則或者觸發器被激活時,解釋器被激活,控制系統狀態。 
案例:虛擬機。解釋器由四部分組成: 

  • 1. 負責解釋的解釋器引擎;

 

  • 2. 包含偽代碼的數據存儲空間;
  • 3. 記錄解釋器引擎當前狀態的數據結構;
  • 4. 記錄解釋器資源編碼進程的數據結構。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: