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

正文內(nèi)容

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

2025-02-02 20:58 本頁(yè)面
 

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