5.3.1 軟件架構(gòu)風(fēng)格概述
一個(gè)體系結(jié)構(gòu) 定義 一個(gè)詞匯表 和 一組約束。詞匯表中包含 構(gòu)件和連接件類型約束指出 如何 組合起來。
體系結(jié)構(gòu)風(fēng)格 反映了 共有的結(jié)構(gòu)和語義特性,并指導(dǎo)如何 組織成一個(gè)完整的系統(tǒng)。
5.3.2 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格
每個(gè)構(gòu)件都有一組輸入和輸出,數(shù)據(jù)輸入構(gòu)件,經(jīng)過內(nèi)部處理,然后產(chǎn)生數(shù)據(jù)輸出。這里的構(gòu)件稱為 過濾器。
構(gòu)件是對象。
分層系統(tǒng),每一層為上層提供服務(wù),并作為下層的客戶。除一些精心挑選的 輸出函數(shù)外,內(nèi)部的層接口只對 相鄰層可見。由于一層最多只影響兩層,為軟件重用提供了強(qiáng)大的支持。
倉庫風(fēng)格中,兩種不同的構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)、獨(dú)立構(gòu)件。
若構(gòu)件控制共享數(shù)據(jù),則倉庫是一傳統(tǒng)型數(shù)據(jù)庫;若中央數(shù)據(jù)結(jié)構(gòu) 的當(dāng)前狀態(tài)觸發(fā)進(jìn)程執(zhí)行的選擇,則倉庫是一黑板系統(tǒng)。
C2 體系結(jié)構(gòu) 通過連接件綁定在一起 按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。構(gòu)件與構(gòu)件之間的連接是不允許的。
5.3.3 客戶/服務(wù)器 風(fēng)格
宿主機(jī)應(yīng)用程序 既負(fù)責(zé)與用戶的交互(前端),又負(fù)責(zé)對數(shù)據(jù)的管理(后端)。
C/S 體系結(jié)構(gòu) 定義了工作站如何與服務(wù)器相連,實(shí)現(xiàn)部分?jǐn)?shù)據(jù)和應(yīng)用 分布到多個(gè)處理機(jī)上。
C/S三個(gè)主要組成部分:服務(wù)器、客戶機(jī)、網(wǎng)絡(luò)。
易于對系統(tǒng)進(jìn)行擴(kuò)充和縮小。
功能構(gòu)件充分隔離,客戶應(yīng)用程序的開發(fā)集中于數(shù)據(jù)的顯示和分析,數(shù)據(jù)庫服務(wù)器的開發(fā)集中于數(shù)據(jù)的管理,將大應(yīng)用處理任務(wù)分布到許多通過網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,模型思想簡單。
開發(fā)成本高,尤其是軟件不斷升級(jí),客戶端變得越來越臃腫。
信息內(nèi)容和形式單一,用戶獲得的只是單純的字符和數(shù)字。
軟件移植困難,維護(hù)升級(jí)困難。
5.3.4 三層 C/S 結(jié)構(gòu)風(fēng)格。
三層 C/S 體系結(jié)構(gòu)中,可以將 整個(gè)應(yīng)用邏輯 駐留在應(yīng)用服務(wù)器上,只有表示層存在于客戶機(jī)上,稱為“瘦客戶機(jī)”。表示層、功能層、數(shù)據(jù)層。
表示層一般要使用圖形用戶界面 GUI。
功能層之間的數(shù)據(jù)交互 要 盡可能簡潔,一次性傳輸。
數(shù)據(jù)層不同層構(gòu)件 相互獨(dú)立,層間接口簡潔,適合復(fù)雜事務(wù)處理。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |