freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機軟件及應(yīng)用]第3章軟件體系結(jié)構(gòu)風(fēng)格(已修改)

2025-02-02 20:58 本頁面
 

【正文】 第 3章 軟件體系結(jié)構(gòu)風(fēng)格 本章結(jié)構(gòu) 軟件體系結(jié)構(gòu)風(fēng)格概述 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 客戶 /服務(wù)器風(fēng)格 三層 C/S結(jié)構(gòu)風(fēng)格 瀏覽器 /服務(wù)器風(fēng)格 公共對象請求代理體系結(jié)構(gòu) 正交軟件體系結(jié)構(gòu) 基于層次消息總線的體系結(jié)構(gòu)風(fēng)格 異構(gòu)結(jié)構(gòu)風(fēng)格 互聯(lián)系統(tǒng)構(gòu)成的系統(tǒng)及其體系結(jié)構(gòu) 特定領(lǐng)域軟件體系結(jié)構(gòu) ◇ 定義 第三章 軟件體系結(jié)構(gòu)風(fēng)格 軟件體系結(jié)構(gòu)風(fēng)格概述 軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式 。 軟件體系結(jié)構(gòu)風(fēng)格又稱軟件體系結(jié)構(gòu)習(xí)慣模式 。 體系結(jié)構(gòu)風(fēng)格定義了一個系統(tǒng)家族 , 即一個體系結(jié)構(gòu)定義一個詞匯表和一組約束 。 詞匯表中包含一些構(gòu)件和連接件類型 , 而這組約束指出系統(tǒng)是如何將這些構(gòu)件和連接件組合起來的 。 體系結(jié)構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性 , 并指導(dǎo)如何將各個模塊和子系統(tǒng)有效地組織成一個完整的系統(tǒng) 。 第三章 軟件體系結(jié)構(gòu)風(fēng)格 軟件體系結(jié)構(gòu)風(fēng)格概述 風(fēng)格的本質(zhì)是:一些特定的元素按照特定的方式組成一個有利于上下文環(huán)境里的特定問題的解決的結(jié)構(gòu) 。 目前開發(fā)人員普遍認(rèn)為軟件系統(tǒng)的體系結(jié)構(gòu)設(shè)計與把系統(tǒng)分解為相交互的計算元素有著密切的聯(lián)系 。 體系結(jié)構(gòu)風(fēng)格是反復(fù)出現(xiàn)的組織模式和習(xí)慣用法 , 是對一系列體系結(jié)構(gòu)設(shè)計的抽象 。 ◇ 補充 體系結(jié)構(gòu)風(fēng)格的使用幾乎完全是特定的。 ◇ 討論體系結(jié)構(gòu)風(fēng)格時要回答的問題 第三章 軟件體系結(jié)構(gòu)風(fēng)格 軟件體系結(jié)構(gòu)風(fēng)格概述 ◎ 構(gòu)件和連接件的類型是什么 ? ◎ 可容許的結(jié)構(gòu)模式是什么 ? ◎ 基本的計算模型是什么 ? ◎ 風(fēng)格的基本不變性是什么 ? ◎ 其使用的常見例子是什么 ? ◎ 使用此風(fēng)格的優(yōu)缺點是什么 ? ◎ 其常見的特例是什么 ? 使用體系結(jié)構(gòu)風(fēng)格的好處 首先,能夠促進設(shè)計的重用性。當(dāng)解決新的設(shè)計問題時,開發(fā)人員通過重新使用這種合適的風(fēng)格能夠提高開發(fā)效率。 第二,有關(guān)風(fēng)格的使用帶來了設(shè)計者的交流形式。關(guān)于設(shè)計元素的詞匯促進了設(shè)計者理解和交流。 第三,使用風(fēng)格能夠使代碼的重用性得到提高。當(dāng)用不同的系統(tǒng)時,基本的架構(gòu)代碼風(fēng)格不需要修改,它能夠用于不同的系統(tǒng)中。 ◇ 體系結(jié)構(gòu)風(fēng)格最關(guān)鍵的四要素 第三章 軟件體系結(jié)構(gòu)風(fēng)格 軟件體系結(jié)構(gòu)風(fēng)格概述 ◎ 提供一個詞匯表 ◎ 定義一套配置規(guī)則 ◎ 定義一套語義解釋原則 ◎ 定義對基于這種風(fēng)格的系統(tǒng)所進行的分析 ◇ 經(jīng)典的體系結(jié)構(gòu)風(fēng)格 第三章 軟件體系結(jié)構(gòu)風(fēng)格 軟件體系結(jié)構(gòu)風(fēng)格概述 ◎ 數(shù)據(jù)流風(fēng)格:批處理序列;管道 /過濾器 。 ◎ 調(diào)用 /返回風(fēng)格:主程序 /子程序;面向?qū)ο箫L(fēng)格; 層次結(jié)構(gòu) 。 ◎ 獨立構(gòu)件風(fēng)格:進程通訊;事件系統(tǒng) 。 ◎ 虛擬機風(fēng)格:解釋器;基于規(guī)則的系統(tǒng) 。 ◎ 倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng) 。 ◇ 管道和過濾器 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 每個構(gòu)件都有一組輸入和輸出 , 構(gòu)件讀輸入的數(shù)據(jù)流 ,經(jīng)過內(nèi)部處理 , 然后產(chǎn)生輸出數(shù)據(jù)流 。 這個過程通常通過對輸入流的變換及增量計算來完成 , 所以在輸入被完全消費之前 ,輸出便產(chǎn)生了 。 這里的構(gòu)件被稱為過濾器 , 這種風(fēng)格的連接件就象是數(shù)據(jù)流傳輸?shù)墓艿?, 將一個過濾器的輸出傳到另一過濾器的輸入 。 此風(fēng)格特別重要的過濾器必須是獨立的實體 , 它不能與其他的過濾器共享數(shù)據(jù) , 而且一個過濾器不知道它的上游和下游的標(biāo)識 。 一個管道 /過濾器網(wǎng)絡(luò)輸出的正確性并不依賴于過濾器進行增量計算過程的順序 。 ◇ 管道和過濾器 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 過濾器管道◇ 管道和過濾器風(fēng)格的優(yōu)點 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 ◎ 使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚 、 低耦合的特點; ◎ 允許設(shè)計者將整個系統(tǒng)的輸入 /輸出行為看成是多個過濾器的行為的簡單合成; ◎ 支持軟件重用 。 只要提供適合在兩個過濾器之間傳送的數(shù)據(jù) ,任何兩個過濾器都可被連接起來; ◎ 系統(tǒng)維護和增強系統(tǒng)性能簡單 。 新的過濾器可以添加到現(xiàn)有系統(tǒng)中來;舊的可以被改進的過濾器替換掉; ◎ 允許對一些如吞吐量 、 死鎖等屬性的分析; ◎ 支持并行執(zhí)行 。 每個過濾器是作為一個單獨的任務(wù)完成 , 因此可與其它任務(wù)并行執(zhí)行 。 ◇ 管道和過濾器的缺點 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 ◎ 通常導(dǎo)致進程成為批處理的結(jié)構(gòu) 。 這是因為雖然過濾器可增量式地處理數(shù)據(jù) , 但它們是獨立的 , 所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換 。 ◎ 不適合處理交互的應(yīng)用 。 當(dāng)需要增量地顯示改變時 , 這個問題尤為嚴(yán)重 。 ◎ 因為在數(shù)據(jù)傳輸上沒有通用的標(biāo)準(zhǔn) , 每個過濾器都增加了解析和合成數(shù)據(jù)的工作 , 這樣就導(dǎo)致了系統(tǒng)性能下降 , 并增加了編寫過濾器的復(fù)雜性 。 ◇ 管道和過濾器的實例 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 1. UNIX中的 shell程序 。 2. 編譯器系統(tǒng) 。 3. 并行計算 。 ◇ 數(shù)據(jù)抽象和面向?qū)ο蠼M織 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 這種風(fēng)格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上 ,數(shù)據(jù)的表示方法和它們的相應(yīng)操作封裝在一個抽象數(shù)據(jù)類型或?qū)ο笾?。 這種風(fēng)格的構(gòu)件是對象 , 或者說是抽象數(shù)據(jù)類型的實例 。 對象是一種被稱作管理者的構(gòu)件 , 因為它負(fù)責(zé)保持資源的完整性 。 對象是通過函數(shù)和過程的調(diào)用來交互的 。 ◇ 數(shù)據(jù)抽象和面向?qū)ο蠼M織 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 對象抽象數(shù)據(jù)類型過程調(diào)用對象對象對象對象◇ 面向?qū)ο笙到y(tǒng)的優(yōu)點 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 ◎ 因為對象對其它對象隱藏它的表示 , 所以可以改變一個對象的表示 , 而不影響其它的對象; ◎ 設(shè)計者可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合 。 ◇ 面向?qū)ο笙到y(tǒng)的缺點 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 ◎ 為了使一個對象和另一個對象通過過程調(diào)用等進行交互 , 必須知道對象的標(biāo)識 。 只要一個對象的標(biāo)識改變了 , 就必須修改所有其他明確調(diào)用它的對象; ◎ 必須修改所有顯式調(diào)用它的其它對象 , 并消除由此帶來的一些副作用 。 例如 , 如果 A使用了對象 B, C也使用了對象 B, 那么 , C對 B的使用所造成的對 A的影響可能是料想不到的 。 例:年齡加 1。 ◇ 基于事件的隱式調(diào)用 第三章 軟件體系結(jié)構(gòu)風(fēng)格 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 構(gòu)件不直接調(diào)用一個過程 , 而是觸發(fā)或廣播一個或多個事件 。 系統(tǒng)中的其它構(gòu)件中的過程在一個或多個事件中注冊 , 當(dāng)一個事件被觸發(fā) , 系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程 , 這樣 , 一個事件的觸發(fā)就導(dǎo)致了另一模塊中的過程的調(diào)用 。 這種風(fēng)格的構(gòu)件是一些模塊 , 模塊既可以是一些過程 , 又可以是一些事件的集合 。 過程可以用通用的方式調(diào)用 , 也可以在系統(tǒng)事件中注冊一些過程 , 當(dāng)發(fā)生這些事件時 , 過程被調(diào)用 。 這種風(fēng)格的主要特點是事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響 。 這樣不能確定構(gòu)件的處理順序 , 甚至不知道哪些過程會被調(diào)用 , 因此 , 許多隱式調(diào)用的系統(tǒng)也包含顯式調(diào)用作為構(gòu)件交互的補充形式 。 ◇ 基于事件的隱式調(diào)用的優(yōu)點 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 ◎ 為軟件重用提供了強大的支持 。 當(dāng)需要將一個構(gòu)件加入現(xiàn)存系統(tǒng)中時 , 只需將它注冊到系統(tǒng)的事件中 。 ◎ 為改進系統(tǒng)帶來了方便 。 當(dāng)用一個構(gòu)件代替另一個構(gòu)件時 , 不會影響到其它構(gòu)件的接口 。 第三章 軟件體系結(jié)構(gòu)風(fēng)格 ◇ 基于事件的隱式調(diào)用的缺點 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 ◎ 構(gòu)件放棄了對系統(tǒng)計算的控制 。 一個構(gòu)件觸發(fā)一個事件時 ,不能確定其它構(gòu)件是否會響應(yīng)它 。 而且即使它知道事件注冊了哪些構(gòu)件的構(gòu)成 , 它也不能保證這些過程被調(diào)用的順序 。 ◎ 數(shù)據(jù)交換的問題 。 有時數(shù)據(jù)可被一個事件傳遞 , 但另一些情況下 , 基于事件的系統(tǒng)必須依靠一個共享的倉庫進行交互 。在這些情況下 , 全局性能和資源管理便成了問題 。 ◎ 既然過程的語義必須依賴于被觸發(fā)事件的上下文約束 , 關(guān)于正確性的推理存在問題 。 第三章 軟件體系結(jié)構(gòu)風(fēng)格 ◇ 基于事件的隱式調(diào)用的例子 經(jīng)典軟件體系結(jié)構(gòu)風(fēng)格 此風(fēng)格的體系結(jié)構(gòu)最早出現(xiàn)在守護進程 、 約束滿足性檢查和包交換網(wǎng)絡(luò)等方面的應(yīng)用程序中 。 它常常被用于如下領(lǐng)域: ● 在程序設(shè)計環(huán)境中用于集成各種工具 ● 在數(shù)據(jù)庫管理系統(tǒng)用于
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1