每一個模塊都有一組輸入和輸出。功能模塊從輸入集合讀取數據流,在輸出集合產生數據流。其中,功能模塊稱爲過濾器,功能模塊之間的鏈接能夠看做輸入,輸出數據流之間的通路。過濾器獨立完成本身的功能,相互之間無需進行狀態交互。
案例:C源代碼->預處理->編譯->彙編->連接->可執行文件。中間的四步驟便可以看做是四個模塊。數據庫
以一種更接近人類通常思惟的方式去看待世界,把世界上的任何一個個體都看做是一個對象。一組具備相同屬性和方法的對象構成一個類。不一樣對象之間存在着通訊和交互,以此構成系統的運轉。(特色就是抽象,繼承,封裝,多態)網絡
對外部環境的系統行爲能夠實現爲對事件的處理方法。對系統輸入一個事件,觀察其輸出,以達到分析系統的目的。能夠方便的執行併發進程和多任務的操做,且具備良好的可擴展性(設計者只需給一個對象註冊一個事件接口並使這個系統歸入系統便可)。缺點這個風格弱化了計算機系統對其的控制能力(系統發出一個事件,難以保證系統內的對象能夠響應,或連續響應);並使系統內的邏輯關係複雜(結果依賴上下環境)。
案例:JavaBean系統在事件驅動機制裏會把一些構建做爲事件源,這些構件產生接收事件,經過事件傳遞消息。 (事件監聽器)數據結構
一個分層系統採用多個層次組織。每一層都有兩個做用,首先爲它的上層提供服務,其次,能夠調用下層的功能。最高層不須要提供任何服務,最底層不會使用任何服務。分層是在實踐中逐漸分離(分解整個系統的功能)出來的且易於複用(只要接口一致)。
簡單模型:核心層(最底層)->功能層(中間層)->應用層(最高層)
三層架構:表示層(用戶界面包)<->業務邏輯層(業務邏輯包)<->數據訪問層(數據訪問包)<->數據庫
案例:計算機網絡ISO七層架構架構
中央數據單元和外部構件的交互,中央數據單元表明當前系統的每一個狀態,外部構件相互依賴,且能夠操做中央數據單元。這種體系風格分爲兩類:
1. 基於傳統的數據庫式風格的應用系統:由輸入數據流的信息服務驅動。
2. 基於黑板式風格的應用系統(對無解性問題進行架構):由風格庫的當前狀態驅動。主要包含三個構件:併發
解釋器風格爲客戶端和服務端構件:當一些規則或者觸發器被激活時,解釋器被激活,控制系統狀態。
案例:虛擬機。解釋器由四部分組成: 編碼