版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)王映輝 博士(后),教授,博導(dǎo)Mail:wyh_2 22022年年7月月4日日22時(shí)時(shí)48分分軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)Part 2:軟件體系結(jié)構(gòu)模式與風(fēng)格:軟件體系結(jié)構(gòu)模式與風(fēng)格P2-1P2-1、模式的概念與分類、模式的概念與分類P2-2P2-2、慣用法、慣用法P2-3P2-3、設(shè)計(jì)模式、設(shè)計(jì)模式P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式P2-5P2-5、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格Part 2Part 2:軟件體系結(jié)構(gòu)模式與風(fēng)格:軟件體系結(jié)構(gòu)模式與風(fēng)格P2-1P2-1、模式的概念與分類、模式的概念與分類Mail:wyh_4 42022年年7月月4日
2、日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.1、模式及其構(gòu)成要素、模式及其構(gòu)成要素模式實(shí)例模式實(shí)例_Model/View/Controller:_Model/View/Controller: 在人機(jī)界面軟件時(shí)在人機(jī)界面軟件時(shí), ,要求要求: :人機(jī)界面容人機(jī)界面容易修改易修改( (包括運(yùn)行期間包括運(yùn)行期間),),應(yīng)用程序的核應(yīng)用程序的核心代碼不受影響。心代碼不受影響。 解決策略:將處理解決策略:將處理(model)(model)、輸出、輸出(view)(view)和輸入和輸入(controller)(controller)劃分開。劃分開。Mail:w
3、yh_5 52022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.1、模式及其構(gòu)成要素、模式及其構(gòu)成要素模式實(shí)例模式實(shí)例_Model/View/Controller:_Model/View/Controller:ModelModelViewViewControllerControllerObserverObservercall updateAttachgetDatacreatemanipulatedisplayattachCall service11.*用戶Mail:wyh_6 62022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、
4、模式的概念與分類、模式的概念與分類.1、模式及其構(gòu)成要素、模式及其構(gòu)成要素模式的構(gòu)成關(guān)鍵要素模式的構(gòu)成關(guān)鍵要素: :問題出現(xiàn)的背景是什么:?jiǎn)栴}出現(xiàn)的背景是什么:語(yǔ)境語(yǔ)境在此背景下重復(fù)出現(xiàn)什么問題:在此背景下重復(fù)出現(xiàn)什么問題:?jiǎn)栴}問題采用什么方案來解決:采用什么方案來解決:解決方案解決方案如何實(shí)現(xiàn)解決方案:如何實(shí)現(xiàn)解決方案:實(shí)現(xiàn)實(shí)現(xiàn)Mail:wyh_7 72022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.2、模式的定義、模式的定義Christopher AlexanderChristopher Alexander對(duì)城市和
5、建筑模式的描述對(duì)城市和建筑模式的描述: :“每一個(gè)模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)每一個(gè)模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題解決方案的核心內(nèi)容。這生的問題,以及該問題解決方案的核心內(nèi)容。這樣,你可以一次又一次地使用該方案而不必做重樣,你可以一次又一次地使用該方案而不必做重復(fù)勞動(dòng)復(fù)勞動(dòng)”軟件體系結(jié)構(gòu)模式軟件體系結(jié)構(gòu)模式: :描述了在特定設(shè)計(jì)描述了在特定設(shè)計(jì)語(yǔ)境語(yǔ)境中中重復(fù)再現(xiàn)重復(fù)再現(xiàn)的的設(shè)計(jì)問題設(shè)計(jì)問題,并為之提供一個(gè)經(jīng)過充分,并為之提供一個(gè)經(jīng)過充分驗(yàn)證了驗(yàn)證了的通用解決的通用解決方案方案。該方案提供了。該方案提供了構(gòu)件構(gòu)件、構(gòu)件的、構(gòu)件的責(zé)任責(zé)任、構(gòu)件、構(gòu)件之間的之間的關(guān)系
6、關(guān)系、以及它們之間的、以及它們之間的協(xié)作方式協(xié)作方式。Mail:wyh_8 82022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.3、模式的特點(diǎn)、模式的特點(diǎn)模式的特點(diǎn)模式的特點(diǎn): :一個(gè)模式關(guān)注一個(gè)在特定設(shè)計(jì)語(yǔ)境中設(shè)計(jì)問題的重復(fù)出現(xiàn)一個(gè)模式關(guān)注一個(gè)在特定設(shè)計(jì)語(yǔ)境中設(shè)計(jì)問題的重復(fù)出現(xiàn)一個(gè)模式為特定的問題提供一個(gè)特定的解決方案一個(gè)模式為特定的問題提供一個(gè)特定的解決方案模式用文檔記錄下了經(jīng)過充分驗(yàn)證了的設(shè)計(jì)經(jīng)驗(yàn)?zāi)J接梦臋n記錄下了經(jīng)過充分驗(yàn)證了的設(shè)計(jì)經(jīng)驗(yàn)?zāi)J剿幍某橄髮哟文J剿幍某橄髮哟? (單個(gè)類、實(shí)例、或構(gòu)件層次單個(gè)類、實(shí)例、或構(gòu)件層次)
7、 )是明確的是明確的模式設(shè)計(jì)提供了一種公共的詞匯和理解模式設(shè)計(jì)提供了一種公共的詞匯和理解模式是軟件體系結(jié)構(gòu)建立文檔的一種手段模式是軟件體系結(jié)構(gòu)建立文檔的一種手段模式通過支持軟件的功能屬性和質(zhì)量屬性來構(gòu)造軟件模式通過支持軟件的功能屬性和質(zhì)量屬性來構(gòu)造軟件模式有助于建立一個(gè)復(fù)雜的和異構(gòu)的軟件體系結(jié)構(gòu)模式有助于建立一個(gè)復(fù)雜的和異構(gòu)的軟件體系結(jié)構(gòu)模式有助于管理軟件的復(fù)雜度模式有助于管理軟件的復(fù)雜度Mail:wyh_9 92022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.4、模式的優(yōu)勢(shì)、模式的優(yōu)勢(shì)促進(jìn)設(shè)計(jì)復(fù)用促進(jìn)設(shè)計(jì)復(fù)用帶來巨大的代碼復(fù)用帶來巨
8、大的代碼復(fù)用系統(tǒng)組成更易于被他人理解系統(tǒng)組成更易于被他人理解有利于系統(tǒng)的互操作性有利于系統(tǒng)的互操作性模式的存在,有利于模式的存在,有利于SA的分析的分析有利于特定模式有利于特定模式SA的可視化的可視化使用模式的優(yōu)勢(shì)使用模式的優(yōu)勢(shì)Mail:wyh_10102022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.5、模式的描述內(nèi)容、模式的描述內(nèi)容 名稱名稱:名稱和一個(gè)簡(jiǎn)短的摘要:名稱和一個(gè)簡(jiǎn)短的摘要 別名別名:模式的其它名稱:模式的其它名稱 例子例子:輔助說明有用的地方:輔助說明有用的地方 語(yǔ)境語(yǔ)境:應(yīng)用的情景:應(yīng)用的情景 問題問題:解決的問題
9、:解決的問題 解決方案解決方案:解決方案的原理:解決方案的原理 靜態(tài)結(jié)構(gòu)靜態(tài)結(jié)構(gòu):模式結(jié)構(gòu)方面的詳細(xì)規(guī)格說明:模式結(jié)構(gòu)方面的詳細(xì)規(guī)格說明( (諸如類圖諸如類圖) ) 動(dòng)態(tài)行為動(dòng)態(tài)行為:描述模式在運(yùn)行期間的典型場(chǎng)景:描述模式在運(yùn)行期間的典型場(chǎng)景( (諸如順序圖諸如順序圖) ) 實(shí)現(xiàn)實(shí)現(xiàn):實(shí)現(xiàn)模式的指南,包括一些規(guī)則和步驟:實(shí)現(xiàn)模式的指南,包括一些規(guī)則和步驟 變體變體:模式變體或特例的簡(jiǎn)短描述:模式變體或特例的簡(jiǎn)短描述 效果效果:優(yōu)缺點(diǎn):優(yōu)缺點(diǎn) 參見參見:參考那些解決相似問題的模式,有利于細(xì)化本模式:參考那些解決相似問題的模式,有利于細(xì)化本模式模式的描述模板模式的描述模板Mail:wyh_1111
10、2022年年7月月4日日22時(shí)時(shí)48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.6、模式分類、模式分類( (模式類別模式類別) ) 低層模式:低層模式:慣用法慣用法(idiom)(idiom) 中層模式:中層模式:設(shè)計(jì)模式設(shè)計(jì)模式(design pattern)(design pattern) 高層模式高層模式:體系結(jié)構(gòu)模式體系結(jié)構(gòu)模式(architecture (architecture pattern)pattern)根據(jù)模式的抽象范圍和規(guī)模,將模式分為根據(jù)模式的抽象范圍和規(guī)模,將模式分為: :P2-1P2-1、模式的概念與分類、模式的概念與分類P2-2P2-
11、2、慣用法、慣用法P2-3P2-3、設(shè)計(jì)模式、設(shè)計(jì)模式P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式P2-5P2-5、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格Part 2Part 2:軟件體系結(jié)構(gòu)模式與風(fēng)格:軟件體系結(jié)構(gòu)模式與風(fēng)格Mail:wyh_13132022年年7月月4日日22時(shí)時(shí)48分分P2-2P2-2、慣用法、慣用法.1、慣用法的特點(diǎn)、慣用法的特點(diǎn)是與具體語(yǔ)言密切相關(guān)的編程經(jīng)驗(yàn)的總結(jié)是與具體語(yǔ)言密切相關(guān)的編程經(jīng)驗(yàn)的總結(jié)描述如何使用給定的語(yǔ)言特征來實(shí)現(xiàn)構(gòu)件的描述如何使用給定的語(yǔ)言特征來實(shí)現(xiàn)構(gòu)件的特定方面及其關(guān)系特定方面及其關(guān)系代表最底層的模式代表最底層的模式慣用法更
12、關(guān)注設(shè)計(jì)的實(shí)現(xiàn)慣用法更關(guān)注設(shè)計(jì)的實(shí)現(xiàn)可能是一種特定設(shè)計(jì)模式的具體實(shí)現(xiàn)可能是一種特定設(shè)計(jì)模式的具體實(shí)現(xiàn)Mail:wyh_14142022年年7月月4日日22時(shí)時(shí)48分分P2-2P2-2、慣用法、慣用法.2、慣用法的益處、慣用法的益處一組相關(guān)的慣用法會(huì)使在程序中形成一致的風(fēng)格一組相關(guān)的慣用法會(huì)使在程序中形成一致的風(fēng)格一致的程序設(shè)計(jì)風(fēng)格將加速程序設(shè)計(jì)的進(jìn)程一致的程序設(shè)計(jì)風(fēng)格將加速程序設(shè)計(jì)的進(jìn)程一致的風(fēng)格使程序更容易理解,有利于程序的開一致的風(fēng)格使程序更容易理解,有利于程序的開發(fā)和維護(hù)發(fā)和維護(hù).3、慣用法的發(fā)現(xiàn)、慣用法的發(fā)現(xiàn)語(yǔ)言書的導(dǎo)言部分語(yǔ)言書的導(dǎo)言部分某些設(shè)計(jì)模式解
13、決程序設(shè)計(jì)問題某些設(shè)計(jì)模式解決程序設(shè)計(jì)問題建立自己的程序設(shè)計(jì)指南建立自己的程序設(shè)計(jì)指南, ,并在開發(fā)人員之間交流并在開發(fā)人員之間交流P2-1P2-1、模式的概念與分類、模式的概念與分類P2-2P2-2、慣用法、慣用法P2-3P2-3、設(shè)計(jì)模式、設(shè)計(jì)模式P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式P2-5P2-5、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格Part 2Part 2:軟件體系結(jié)構(gòu)模式與風(fēng)格:軟件體系結(jié)構(gòu)模式與風(fēng)格Mail:wyh_16162022年年7月月4日日22時(shí)時(shí)48分分P2-3P2-3、設(shè)計(jì)模式、設(shè)計(jì)模式.1、設(shè)計(jì)模式分類、設(shè)計(jì)模式分類( (問題類別問題
14、類別) )結(jié)構(gòu)化分解:結(jié)構(gòu)化分解:整體整體- -部分模式部分模式工作的組織:工作的組織:主控主控- -存儲(chǔ)模式存儲(chǔ)模式訪問控制:訪問控制:代理模式代理模式管理:管理:命令處理器模式命令處理器模式 視圖處理模式視圖處理模式通訊:通訊:轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)器- -接收器模式接收器模式 客戶機(jī)客戶機(jī)- -分配器分配器- -服務(wù)器模式服務(wù)器模式 出版者出版者- -訂閱者模式訂閱者模式整體部分被廣泛應(yīng)用于復(fù)雜構(gòu)件中整體部分被廣泛應(yīng)用于復(fù)雜構(gòu)件中支持服務(wù)分解,用在容錯(cuò)、并支持服務(wù)分解,用在容錯(cuò)、并行計(jì)算、計(jì)算準(zhǔn)確性等方面行計(jì)算、計(jì)算準(zhǔn)確性等方面保護(hù)被訪問的服務(wù)和構(gòu)件。保護(hù)被訪問的服務(wù)和構(gòu)件。代理模式允許與構(gòu)件的代表
15、代理模式允許與構(gòu)件的代表通訊而不是與構(gòu)件本身通訊通訊而不是與構(gòu)件本身通訊將一類事物視為一個(gè)整體將一類事物視為一個(gè)整體來處理。命令處理模式處來處理。命令處理模式處理用戶的命令和協(xié)議理用戶的命令和協(xié)議視圖處理模式描述如何視圖處理模式描述如何在一個(gè)系統(tǒng)中管理視圖在一個(gè)系統(tǒng)中管理視圖處理對(duì)等通訊問題處理對(duì)等通訊問題處 理 位 置 透處 理 位 置 透明性問題明性問題處理數(shù)據(jù)一致性問題處理數(shù)據(jù)一致性問題Mail:wyh_17172022年年7月月4日日22時(shí)時(shí)48分分P2-3P2-3、設(shè)計(jì)模式、設(shè)計(jì)模式.1、設(shè)計(jì)模式分類、設(shè)計(jì)模式分類( (模式類別模式類別) ) 目的目的分類分類設(shè)計(jì)模式
16、設(shè)計(jì)模式對(duì)可變方面的支持對(duì)可變方面的支持創(chuàng)建創(chuàng)建(5)Abstract FactoryBuilderFactory MethodPrototypeSingleton產(chǎn)品對(duì)象家族產(chǎn)品對(duì)象家族(視圖處理模式)(視圖處理模式)創(chuàng)建一個(gè)組合對(duì)象創(chuàng)建一個(gè)組合對(duì)象被實(shí)例化的子類被實(shí)例化的子類被實(shí)例化的類被實(shí)例化的類一個(gè)類的唯一實(shí)例一個(gè)類的唯一實(shí)例結(jié)構(gòu)結(jié)構(gòu)(7)AdapterBridgeCompositeDecoratorFacadeFlyweightProxy對(duì)象的接口對(duì)象的接口對(duì)象的實(shí)現(xiàn)對(duì)象的實(shí)現(xiàn)一個(gè)對(duì)象的結(jié)構(gòu)和組織一個(gè)對(duì)象的結(jié)構(gòu)和組織(整體(整體-部分部分)對(duì)象的職責(zé),不生成子類對(duì)象的職責(zé),不生成子類
17、(代理,代理中的代理)(代理,代理中的代理)一個(gè)子系統(tǒng)的接口一個(gè)子系統(tǒng)的接口(整體(整體-部分,但不強(qiáng)調(diào)封裝,可直接訪問部分)部分,但不強(qiáng)調(diào)封裝,可直接訪問部分) (代理)(代理)對(duì)象的存儲(chǔ)開銷對(duì)象的存儲(chǔ)開銷如何訪問一個(gè)對(duì)象如何訪問一個(gè)對(duì)象(代理)(代理)行為行為(11)Chain of ResponsibilityCommandInterpreterInteratorMediatorMementoOberverStateStrategyTemplete MethodVisiter滿足一個(gè)請(qǐng)求的對(duì)象滿足一個(gè)請(qǐng)求的對(duì)象(主控(主控-從屬)從屬)何時(shí)、怎么滿足一個(gè)請(qǐng)求何時(shí)、怎么滿足一個(gè)請(qǐng)求(主控(
18、主控-從屬)(命令處理器)從屬)(命令處理器)一個(gè)語(yǔ)言的文法與解釋一個(gè)語(yǔ)言的文法與解釋如何遍歷、訪問一個(gè)聚合的各元素如何遍歷、訪問一個(gè)聚合的各元素(代理)(代理)對(duì)象間怎樣交互、如何交互對(duì)象間怎樣交互、如何交互(主控(主控-從屬)從屬) (視圖處理模式)(視圖處理模式)對(duì)象的哪些私有信息應(yīng)該存放在對(duì)象之外,以及在什么時(shí)候進(jìn)行存儲(chǔ)對(duì)象的哪些私有信息應(yīng)該存放在對(duì)象之外,以及在什么時(shí)候進(jìn)行存儲(chǔ)(命令處理器)(命令處理器)依賴與另外一個(gè)對(duì)象的多個(gè)對(duì)象如何保持一致依賴與另外一個(gè)對(duì)象的多個(gè)對(duì)象如何保持一致(出版者(出版者-發(fā)行者)發(fā)行者)對(duì)象的狀態(tài)對(duì)象的狀態(tài)算法算法算法中某些步驟算法中某些步驟某些作用于一
19、個(gè)或一組對(duì)象上的操作,但不修改這些對(duì)象的類某些作用于一個(gè)或一組對(duì)象上的操作,但不修改這些對(duì)象的類P2-1P2-1、模式的概念與分類、模式的概念與分類P2-2P2-2、慣用法、慣用法P2-3P2-3、設(shè)計(jì)模式、設(shè)計(jì)模式P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式P2-5P2-5、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格、模式系統(tǒng)與體系結(jié)構(gòu)風(fēng)格Part 2Part 2:軟件體系結(jié)構(gòu)模式與風(fēng)格:軟件體系結(jié)構(gòu)模式與風(fēng)格Mail:wyh_19192022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.1、SASA模式的概念模式的概念SASA模式是模式系統(tǒng)中的最高等模式模式是模
20、式系統(tǒng)中的最高等模式描述了軟件系統(tǒng)基本結(jié)構(gòu)的組織方案描述了軟件系統(tǒng)基本結(jié)構(gòu)的組織方案用在粗粒度設(shè)計(jì)的開始階段用在粗粒度設(shè)計(jì)的開始階段SASA模式模式(Dwayne E.Perry, Alexander L.Wolf)(Dwayne E.Perry, Alexander L.Wolf): 根據(jù)系統(tǒng)的結(jié)構(gòu)組織定義了軟件系統(tǒng)族、以及構(gòu)根據(jù)系統(tǒng)的結(jié)構(gòu)組織定義了軟件系統(tǒng)族、以及構(gòu)成系統(tǒng)族的構(gòu)件之間的關(guān)系。它們是通過構(gòu)件應(yīng)用的成系統(tǒng)族的構(gòu)件之間的關(guān)系。它們是通過構(gòu)件應(yīng)用的限制和構(gòu)件的組織與設(shè)計(jì)規(guī)則來確定和表現(xiàn)的。限制和構(gòu)件的組織與設(shè)計(jì)規(guī)則來確定和表現(xiàn)的。Mail:wyh_20202022年年7月月4日日2
21、2時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.2、SASA模式分類模式分類( (問題類別問題類別) )Mary Show,David GarlanMary Show,David Garlan的分類:的分類:數(shù)據(jù)流系統(tǒng)數(shù)據(jù)流系統(tǒng) 虛擬機(jī)虛擬機(jī) Batch sequential Interpreters Pipes and filters Rule-based systems調(diào)用調(diào)用- -返回系統(tǒng)返回系統(tǒng) 數(shù)據(jù)中心系統(tǒng)數(shù)據(jù)中心系統(tǒng) Main program and subroutine (repositeries(repositeries) ) OO system D
22、atabases Hierarchical layers Hypertext systems獨(dú)立構(gòu)件獨(dú)立構(gòu)件 Blackboards Communicating processes Event systems(implicit invocation)Mail:wyh_21212022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.2、SASA模式分類模式分類Frank BuschmannFrank Buschmann的分類:的分類:從混沌到結(jié)構(gòu)從混沌到結(jié)構(gòu) Layer Pipes and Filters Blackboard分布式系統(tǒng)分布式系統(tǒng) B
23、roker(涉及“微核”和“管道-過濾器”)交互系統(tǒng)交互系統(tǒng) Model-View-Controller Presentation-Abstraction-Control適應(yīng)性系統(tǒng)適應(yīng)性系統(tǒng) Reflection MicrokernelMail:wyh_22222022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)過濾器過濾器過濾器過濾器過濾器過濾器管道管道管道管道管道管道管道Pipe&FilterMail:wyh_23232022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4
24、、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)n構(gòu)件構(gòu)件:過濾器(filter)是數(shù)據(jù)加工處理的功能模塊,并將處理后的結(jié)果在輸出端輸出。n連接件:連接件:管道(pipe)起信息流的導(dǎo)管作用。n過濾器過濾器都有輸入/輸出集合,構(gòu)件從輸入處讀取數(shù)據(jù)流,在輸出處生成數(shù)據(jù)流。n過濾器必須是獨(dú)立的主體獨(dú)立的主體,無(wú)須知道輸入/出管道的存在。但要對(duì)輸入管道輸入管道和輸入數(shù)據(jù)流輸入數(shù)據(jù)流進(jìn)行限制。n管道過濾器構(gòu)成的網(wǎng)絡(luò),網(wǎng)絡(luò),其輸出輸出的正確性正確性與過濾器的遞增處理順序無(wú)關(guān)。n注意注意:將每個(gè)過濾器的輸入/出限制為單一的,則管道-過濾器退化為順序
25、批處理系統(tǒng)順序批處理系統(tǒng)( (Batch sequential) )。Mail:wyh_24242022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)詞法分析詞法分析/ /掃描器掃描器語(yǔ)法分析語(yǔ)法分析/ /分析器分析器語(yǔ)語(yǔ) 義義 分分 析析中間代碼生成中間代碼生成Unix shell:Unix shell: cat filecat file| |grep xyzgrep xyz| |sortsort| |uniquniqoutout 即找到含即找到含xyzxyz的行,排序、取掉相同的行,
26、最后輸出的行,排序、取掉相同的行,最后輸出信號(hào)處理系統(tǒng)并行計(jì)算編譯器Mail:wyh_25252022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)系統(tǒng)行為易于理解由于該模式數(shù)據(jù)交換占用大量的空間,且數(shù)據(jù)傳輸占用系統(tǒng)的執(zhí)行時(shí)間。所以,它不適應(yīng)大量共享數(shù)據(jù)的應(yīng)用設(shè)計(jì)支持并發(fā)計(jì)算過濾器是在輸入/出有相應(yīng)限制情況下,才能對(duì)輸入進(jìn)行批量轉(zhuǎn)換處理。所以,不適用于交互式的應(yīng)用程序較強(qiáng)的可維護(hù)性和可擴(kuò)展性按照此模式,經(jīng)常導(dǎo)致成為批處理的結(jié)構(gòu)相對(duì)獨(dú)立的過濾器為性能(吞吐量、死鎖)分析提供
27、了方便由于構(gòu)件不能共享全局狀態(tài)。所以錯(cuò)誤處理困難Mail:wyh_26262022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動(dòng)與隱式調(diào)用事件驅(qū)動(dòng)與隱式調(diào)用(2)(2)廣播媒介agentagentagentagentEvent-based style(Implicit Invocation style)聲明事件監(jiān)聽事件Mail:wyh_27272022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動(dòng)與隱式調(diào)用事件驅(qū)動(dòng)與隱式調(diào)用(2)(2)構(gòu)件
28、的接口構(gòu)件的接口:過程的集合+事件的集合過程過程:即可以用一般的方式調(diào)用,也可以聲明為與某些事件相關(guān)構(gòu)件可以聲明或廣播聲明或廣播一個(gè)或多個(gè)事件,或著向系統(tǒng)注冊(cè)它希望響應(yīng)的一個(gè)或多個(gè)事件連接件連接件:對(duì)過程的隱式或顯式調(diào)用Mail:wyh_28282022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動(dòng)與隱式調(diào)用事件驅(qū)動(dòng)與隱式調(diào)用(2)(2)數(shù)據(jù)庫(kù)中的一致性約束集成開發(fā)環(huán)境中的編輯器支持的語(yǔ)法檢查開發(fā)工具中調(diào)試過程中的變量監(jiān)視器刷新變量值WORD的詞正確性檢查應(yīng)用:應(yīng)用:Mail:wyh_29292022年年7月月4日日
29、22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動(dòng)與隱式調(diào)用事件驅(qū)動(dòng)與隱式調(diào)用(2)(2)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)強(qiáng)大的復(fù)用支持功能強(qiáng)大的復(fù)用支持功能(構(gòu)件的加入只須注冊(cè)即可)構(gòu)件對(duì)系統(tǒng)的無(wú)法預(yù)測(cè)和控制構(gòu)件對(duì)系統(tǒng)的無(wú)法預(yù)測(cè)和控制(構(gòu)件觸發(fā)事件后無(wú)法預(yù)測(cè)響應(yīng)的構(gòu)件,即使知道響應(yīng)的構(gòu)件,也無(wú)法知道過程調(diào)用的順序)構(gòu)件之間的關(guān)系弱構(gòu)件之間的關(guān)系弱(事件廣播者無(wú)須知道那些構(gòu)件受事件影響)數(shù)據(jù)交換問題數(shù)據(jù)交換問題(雖然基于事件的系統(tǒng)可以依靠一個(gè)共享的數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行數(shù)據(jù)交換,但會(huì)影響全局的性能和資源的管理)系統(tǒng)演化升級(jí)簡(jiǎn)單系統(tǒng)演化升級(jí)簡(jiǎn)單(替換某構(gòu)件不影響其
30、它構(gòu)件)無(wú)法進(jìn)行正確性的判斷和推理無(wú)法進(jìn)行正確性的判斷和推理(過程的語(yǔ)義被觸發(fā)事件的上下文約束所決定,而傳統(tǒng)的對(duì)調(diào)用行為的推理必須考慮過程的前置條件和后置條件,所以無(wú)法在過程調(diào)用中用傳統(tǒng)的推理來判斷正確性)Mail:wyh_30302022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分層(3)(3)Layer過程調(diào)用不同元素組合內(nèi)核層內(nèi)核層可用系統(tǒng)可用系統(tǒng)基礎(chǔ)實(shí)用層Mail:wyh_31312022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分
31、層(3)(3)每一層為上層提供服務(wù),并作為下層的客戶每一層為上層提供服務(wù),并作為下層的客戶層只對(duì)鄰層可見層只對(duì)鄰層可見連接件定義了層間交互的協(xié)議連接件定義了層間交互的協(xié)議支持遞增抽象層的設(shè)計(jì)支持遞增抽象層的設(shè)計(jì)支持復(fù)雜問題的分解和增量式步驟序列的實(shí)現(xiàn)支持復(fù)雜問題的分解和增量式步驟序列的實(shí)現(xiàn)支持軟件復(fù)用:體現(xiàn)在每層只影響鄰層,所以每支持軟件復(fù)用:體現(xiàn)在每層只影響鄰層,所以每層可采用不同的實(shí)現(xiàn)方法層可采用不同的實(shí)現(xiàn)方法Mail:wyh_32322022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分層(3)(3)廣泛應(yīng)用在分
32、層通訊協(xié)議中,諸如OSI/ISO的分層通訊模型計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議組,如TCP/IPOSX窗口系統(tǒng)應(yīng)用:應(yīng)用:Mail:wyh_33332022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分層(3)(3)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)支持抽象遞增的設(shè)計(jì)支持抽象遞增的設(shè)計(jì)(復(fù)雜系統(tǒng)的遞增分解)并不是每個(gè)系統(tǒng)都能分層的并不是每個(gè)系統(tǒng)都能分層的(即使一個(gè)系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,但出于性能的考慮,往往要將一些低級(jí)和高級(jí)的功能綜合起來的)容易擴(kuò)展容易擴(kuò)展(每層只影響鄰層)效率的降低效率的降低(通過若干層的轉(zhuǎn)換帶來的)支持復(fù)用支持復(fù)用(如果對(duì)鄰層的
33、接口相同,則在同一層中使用不同的實(shí)現(xiàn))抽象層次方法難以選擇抽象層次方法難以選擇(特別是要選取合適的、正確的方法就更難)Mail:wyh_34342022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-數(shù)據(jù)抽象和面向?qū)ο髷?shù)據(jù)抽象和面向?qū)ο?4)(4)抽象數(shù)據(jù)類型Mail:wyh_35352022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-數(shù)據(jù)抽象和面向?qū)ο髷?shù)據(jù)抽象和面向?qū)ο?4)(4)n數(shù)據(jù)和操作被封裝成抽象數(shù)據(jù)類型數(shù)據(jù)和操作被封裝成抽象數(shù)據(jù)類型n構(gòu)件就是對(duì)
34、象,連接件就是過程構(gòu)件就是對(duì)象,連接件就是過程(方法方法)調(diào)用調(diào)用n抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型(ADT)和和OO的區(qū)別:的區(qū)別:ADT只有封裝的只有封裝的特點(diǎn),沒有繼承和多態(tài)的特征特點(diǎn),沒有繼承和多態(tài)的特征n要點(diǎn):要點(diǎn): 封裝隱藏實(shí)現(xiàn)細(xì)節(jié) 繼承由通用的對(duì)象開始,逐步定義具體的對(duì)象 多態(tài)不同類型的對(duì)象對(duì)相同的激勵(lì)產(chǎn)生不同的響應(yīng)Mail:wyh_36362022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-數(shù)據(jù)抽象和面向?qū)ο髷?shù)據(jù)抽象和面向?qū)ο?4)(4)應(yīng)用非常廣泛,應(yīng)用非常廣泛,實(shí)例太多太多!實(shí)例太多太多!Mail:wyh_37
35、372022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-數(shù)據(jù)抽象和面向?qū)ο髷?shù)據(jù)抽象和面向?qū)ο?4)(4)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)信息隱藏使修改影響的范圍小信息隱藏使修改影響的范圍小過程調(diào)用依賴于對(duì)象的標(biāo)識(shí)過程調(diào)用依賴于對(duì)象的標(biāo)識(shí)封裝的對(duì)象使復(fù)雜問題更容易封裝的對(duì)象使復(fù)雜問題更容易分解分解對(duì)大型系統(tǒng)的分析設(shè)計(jì),需要總對(duì)大型系統(tǒng)的分析設(shè)計(jì),需要總體結(jié)構(gòu)的支持體結(jié)構(gòu)的支持方便系統(tǒng)升級(jí)方便系統(tǒng)升級(jí)(由于方法的實(shí)現(xiàn)和對(duì)它的調(diào)用請(qǐng)求是分離的,所以,可以在不影響調(diào)用者的情況下,完成實(shí)現(xiàn)的變更)Mail:wyh_38382022年年7月月4日日2
36、2時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉(cāng)庫(kù)與黑板倉(cāng)庫(kù)與黑板(5)(5)黑板共享數(shù)據(jù)知識(shí)源存儲(chǔ)器計(jì)算直接存取Repositories (Blackboard)知識(shí)源知識(shí)源知識(shí)源知識(shí)源知識(shí)源知識(shí)源知識(shí)源控制器控制器Mail:wyh_39392022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉(cāng)庫(kù)與黑板倉(cāng)庫(kù)與黑板(5)(5)n知識(shí)源:知識(shí)源:與特定應(yīng)用相關(guān)的獨(dú)立的知識(shí)包(parcel),只有通過黑板來完成它們之間的交互n黑板數(shù)據(jù)結(jié)構(gòu):黑板數(shù)據(jù)結(jié)構(gòu):求解問題的狀態(tài)的數(shù)據(jù),
37、并按照層次來組織。知識(shí)源通過對(duì)黑板的修改來漸進(jìn)式地達(dá)到問題的求解n控制器:控制器:控制器承擔(dān)著限制知識(shí)源對(duì)黑板的訪問,防止兩個(gè)知識(shí)源同時(shí)寫黑板的某一空間。 控制器完全由黑板狀態(tài)驅(qū)動(dòng)和決定。一旦黑板數(shù)據(jù)的改變需要知識(shí)源的時(shí)候,控制器會(huì)及時(shí)通知知識(shí)源隨即進(jìn)行響應(yīng)Mail:wyh_40402022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉(cāng)庫(kù)與黑板倉(cāng)庫(kù)與黑板(5)(5)n信號(hào)處理與模式識(shí)別領(lǐng)域n用于具有松散-偶合實(shí)體對(duì)共享數(shù)據(jù)的存取nFtp服務(wù)器n應(yīng)用:應(yīng)用:Mail:wyh_41412022年年7月月4日日22時(shí)時(shí)48分分P
38、2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉(cāng)庫(kù)與黑板倉(cāng)庫(kù)與黑板(5)(5)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)便于多個(gè)客戶共享大量的數(shù)據(jù)便于多個(gè)客戶共享大量的數(shù)據(jù)對(duì)黑板數(shù)據(jù)結(jié)構(gòu)的修改比較困難對(duì)黑板數(shù)據(jù)結(jié)構(gòu)的修改比較困難(要考慮不同的知識(shí)源對(duì)共享數(shù)據(jù)達(dá)成一致)方便于添加新的知識(shí)源應(yīng)用程方便于添加新的知識(shí)源應(yīng)用程序序系統(tǒng)復(fù)雜系統(tǒng)復(fù)雜(因?yàn)樾枰欢ǖ耐?加鎖機(jī)制保證數(shù)據(jù)結(jié)構(gòu)的完整性和一致性)Mail:wyh_42422022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)Interpre
39、ters/Virtual Machine 數(shù)據(jù)(程序狀態(tài))正在被解釋的程序模擬解釋引擎內(nèi)部解釋器狀態(tài)計(jì)算狀態(tài)機(jī)輸出輸入選擇的指令選擇的指令選擇的數(shù)據(jù)選擇的數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存取Mail:wyh_43432022年年7月月4日日22時(shí)時(shí)48分分Interpretation engineInterpretation enginePseudoprogramPseudoprogramP2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)Interpreters/Virtual Machine 數(shù)據(jù)(程序狀態(tài))正在被解釋的程序模擬解釋引擎內(nèi)部解釋器狀態(tài)計(jì)
40、算狀態(tài)機(jī)輸出輸入選擇的指令選擇的指令選擇的數(shù)據(jù)選擇的數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存取模擬解釋引擎(解釋器定義)Mail:wyh_44442022年年7月月4日日22時(shí)時(shí)48分分存儲(chǔ)器存儲(chǔ)器P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)Interpreters/Virtual Machine 數(shù)據(jù)(程序狀態(tài))正在被解釋的程序內(nèi)部解釋器狀態(tài)計(jì)算狀態(tài)機(jī)輸出輸入選擇的指令選擇的指令選擇的數(shù)據(jù)選擇的數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存取模擬解釋引擎(解釋器定義)Mail:wyh_45452022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式2.4
41、.32.4.3、SASA模式模式-解釋器解釋器(6)(6)n一個(gè)解釋器就是一個(gè)虛擬機(jī)一個(gè)解釋器就是一個(gè)虛擬機(jī)n就就解釋器解釋器來說,一個(gè)解釋器包括:偽程序來說,一個(gè)解釋器包括:偽程序(pseudoprogram(pseudoprogram) )和解釋引擎和解釋引擎(interpretation engine)(interpretation engine)兩個(gè)部分兩個(gè)部分n就就虛擬機(jī)虛擬機(jī)來說,包括:計(jì)算狀態(tài)機(jī)來說,包括:計(jì)算狀態(tài)機(jī)CSMCSM(Computation State (Computation State Machine)Machine)和存儲(chǔ)器和存儲(chǔ)器(Memory)(Memory
42、)兩個(gè)部分兩個(gè)部分n也可以說,一個(gè)也可以說,一個(gè)解釋器解釋器包括:一個(gè)模擬解釋引擎包括:一個(gè)模擬解釋引擎(CSM)(CSM)和一個(gè)存儲(chǔ)器。而一個(gè)存儲(chǔ)器又包括:被解釋的偽碼、和一個(gè)存儲(chǔ)器。而一個(gè)存儲(chǔ)器又包括:被解釋的偽碼、解釋引擎控制狀態(tài)的表示、以及被模擬程序的當(dāng)前狀態(tài)解釋引擎控制狀態(tài)的表示、以及被模擬程序的當(dāng)前狀態(tài)表示。表示。Mail:wyh_46462022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)n Java Java的的VMVMn一些高級(jí)語(yǔ)言解釋執(zhí)行器一些高級(jí)語(yǔ)言解釋執(zhí)行器nMicrosof
43、tMicrosoft的的.NET.NET核心核心CLRCLR支持支持ILIL的解釋執(zhí)行的解釋執(zhí)行nMail:wyh_47472022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)有利于實(shí)現(xiàn)程序的可移植性和語(yǔ)有利于實(shí)現(xiàn)程序的可移植性和語(yǔ)言的跨平臺(tái)的能力言的跨平臺(tái)的能力性能的下降性能的下降(額外的中間層帶來的)可對(duì)未來的硬件進(jìn)行模擬和仿真可對(duì)未來的硬件進(jìn)行模擬和仿真安全性的提高安全性的提高(代碼可控制)Mail:wyh_48482022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系
44、結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-代理者代理者(broker)(7)(broker)(7)ClientClientcall_serverstart_taskuse_Broker_APIClient-sideClient-sideProxyProxypack-dataunpack_datasend_requestreturnBrokerBrokermain_event_loopupdate_repositoryregister_serviceAcknowledgmentfind_serverforward_requestforward_responseServer-s
45、ideServer-sideProxyProxypack-dataunpack_datasend_servicesend_requestServerServerinitializeenter_main_looprun_serviceuse_Broker_APIBridgeBridgepack_dataunpack_dataforward_messagetransmit_messagetransfersmessagetransfersmessageuses APIuses APIcallscallscallsMail:wyh_49492022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系
46、結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-代理者代理者(broker)(7)(broker)(7)ClientClientClient-sideClient-sideProxyProxyBrokerBrokerServer-sideServer-sideProxyProxyServerServer直接通訊的系統(tǒng) 在客戶機(jī)和服務(wù)器使用相同的協(xié)議時(shí),可使用直接通訊的系統(tǒng),此時(shí),代理者的作用僅僅是在客戶機(jī)和服務(wù)器之間建立通信鏈的作用,此后的消息、異常和應(yīng)答等直接在客戶機(jī)端代理和服務(wù)器端代理之間直接進(jìn)行。Mail:wyh_50502022年年7月月4日日22時(shí)時(shí)48分分P2-4P2
47、-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-代理者代理者(broker)(7)(broker)(7)ClientClientClient-sideClient-sideProxyProxyBroker-Broker-A AServer-sideServer-sideProxyProxyServerServerBridge-Bridge-A ABroker-Broker-B BBridge-Bridge-B B間接通訊的系統(tǒng):用在異構(gòu)網(wǎng)絡(luò)中(協(xié)議不同)Mail:wyh_51512022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式2.4.
48、32.4.3、SASA模式模式-代理者代理者(7)(7)n 環(huán)境環(huán)境:帶有獨(dú)立構(gòu)件的分布式,并可能是異構(gòu)的系統(tǒng)。:帶有獨(dú)立構(gòu)件的分布式,并可能是異構(gòu)的系統(tǒng)。是由獨(dú)立互操作構(gòu)件構(gòu)建的、非整體的、復(fù)雜應(yīng)用系統(tǒng),是由獨(dú)立互操作構(gòu)件構(gòu)建的、非整體的、復(fù)雜應(yīng)用系統(tǒng),系統(tǒng)具有較強(qiáng)的靈活性和可變更性系統(tǒng)具有較強(qiáng)的靈活性和可變更性n 運(yùn)行機(jī)理:運(yùn)行機(jī)理:服務(wù)器向代理者注冊(cè)自己,并使其服務(wù)通過接口能被客戶機(jī)使服務(wù)器向代理者注冊(cè)自己,并使其服務(wù)通過接口能被客戶機(jī)使用用客戶機(jī)通過代理者發(fā)送請(qǐng)求訪問服務(wù)器功能客戶機(jī)通過代理者發(fā)送請(qǐng)求訪問服務(wù)器功能代理者的任務(wù)包括:定位合適的服務(wù)器、將請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器、代理者的任務(wù)包括
49、:定位合適的服務(wù)器、將請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器、并向客戶機(jī)回送結(jié)果和異常并向客戶機(jī)回送結(jié)果和異常n 作用:作用:通過代理,應(yīng)用程序只是簡(jiǎn)單地向合適的對(duì)象通過代理,應(yīng)用程序只是簡(jiǎn)單地向合適的對(duì)象發(fā)出消息發(fā)出消息調(diào)用分調(diào)用分布在網(wǎng)絡(luò)上的服務(wù),而布在網(wǎng)絡(luò)上的服務(wù),而無(wú)須無(wú)須將重點(diǎn)放在將重點(diǎn)放在低級(jí)進(jìn)程間通訊低級(jí)進(jìn)程間通訊代理將對(duì)象模型從代理將對(duì)象模型從單一單一應(yīng)用程序應(yīng)用程序擴(kuò)展擴(kuò)展到由運(yùn)行在到由運(yùn)行在異構(gòu)機(jī)異構(gòu)機(jī)上的上的不不同語(yǔ)言同語(yǔ)言編寫的獨(dú)立構(gòu)件組成的編寫的獨(dú)立構(gòu)件組成的分布式分布式應(yīng)用程序應(yīng)用程序Mail:wyh_52522022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)
50、構(gòu)模式.3、SASA模式模式-代理者代理者(7)(7)n CORBA(Common CORBA(Common Object Broker Architecture): Object Broker Architecture):是是OMGOMG定義的,處理異構(gòu)系統(tǒng)上的分布式對(duì)象的面定義的,處理異構(gòu)系統(tǒng)上的分布式對(duì)象的面向?qū)ο蠹夹g(shù)。向?qū)ο蠹夹g(shù)。nOLE2.XOLE2.XnWWWWWW是世界上最大的可用代理系統(tǒng)是世界上最大的可用代理系統(tǒng)n應(yīng)用:應(yīng)用:Mail:wyh_53532022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SAS
51、A模式模式-代理者代理者(7)(7)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)定位透明定位透明效率受到限制效率受到限制(額外的中間層帶來的)構(gòu)件的可變性和系統(tǒng)的可擴(kuò)展性構(gòu)件的可變性和系統(tǒng)的可擴(kuò)展性容錯(cuò)性差容錯(cuò)性差(執(zhí)行期間服務(wù)器或代理的失效導(dǎo)致依賴于它們的程序?qū)o(wú)法繼續(xù)進(jìn)行下去)不同代理系統(tǒng)之間的互操作性不同代理系統(tǒng)之間的互操作性(代理本來是要實(shí)現(xiàn)協(xié)議轉(zhuǎn)換的)測(cè)試和調(diào)試涉及許多構(gòu)件,比較測(cè)試和調(diào)試涉及許多構(gòu)件,比較麻煩麻煩系統(tǒng)的可移植性系統(tǒng)的可移植性可復(fù)用性可復(fù)用性(體現(xiàn)在集成方便)Mail:wyh_54542022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SAS
52、A模式模式-微核微核(microkernal(microkernal) (8) (8)ClientClientdoTaskExternal External ServerServerreceiveRequestdispatchRequestexecuteServiceInternal ServerInternal ServerexecuteServicereceiveRequestAdapterAdaptercallServicecreateRequestMicrokernalMicrokernalexecuteMechanisminitCommunicationfindReceivercre
53、ateHandlesendMessagecallInternalServercalls servicesend requestInitializes Initializes communicationcommunicationcallsactivatesMail:wyh_55552022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-微核微核(8)(8)n微核:封裝了應(yīng)用的基本服務(wù)。具有支持其它構(gòu)件在一微核:封裝了應(yīng)用的基本服務(wù)。具有支持其它構(gòu)件在一個(gè)獨(dú)立進(jìn)程中運(yùn)行時(shí)互相個(gè)獨(dú)立進(jìn)程中運(yùn)行時(shí)互相通訊通訊的功能;負(fù)責(zé)維護(hù)的功能;負(fù)
54、責(zé)維護(hù)資源資源,如文件、進(jìn)程等;提供其它構(gòu)件存取其功能的如文件、進(jìn)程等;提供其它構(gòu)件存取其功能的接口接口。n內(nèi)部服務(wù)器:實(shí)現(xiàn)了在微核中不能實(shí)現(xiàn)的核心功能內(nèi)部服務(wù)器:實(shí)現(xiàn)了在微核中不能實(shí)現(xiàn)的核心功能( (出于出于復(fù)雜性的考慮復(fù)雜性的考慮) )n每個(gè)外部服務(wù)器:是一個(gè)獨(dú)立的進(jìn)程,即應(yīng)用程序平臺(tái),每個(gè)外部服務(wù)器:是一個(gè)獨(dú)立的進(jìn)程,即應(yīng)用程序平臺(tái),它通過微核的接口獲得的機(jī)制實(shí)現(xiàn)自己的基本功能它通過微核的接口獲得的機(jī)制實(shí)現(xiàn)自己的基本功能n客戶機(jī)通過使用微核提供的通訊能力與外部服務(wù)器通訊客戶機(jī)通過使用微核提供的通訊能力與外部服務(wù)器通訊n一個(gè)微核系統(tǒng)可以被看成集成了其它應(yīng)用平臺(tái)的公共應(yīng)一個(gè)微核系統(tǒng)可以被看成
55、集成了其它應(yīng)用平臺(tái)的公共應(yīng)用支撐平臺(tái)用支撐平臺(tái)Mail:wyh_56562022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-微核微核(8)(8)nOSOS,諸如,諸如MS-WindowsMS-Windows:核心包括進(jìn)程和線程的管理,:核心包括進(jìn)程和線程的管理,低級(jí)低級(jí)I/OI/O,點(diǎn)到點(diǎn)通訊服務(wù)等,點(diǎn)到點(diǎn)通訊服務(wù)等n部分部分DBMSDBMS,諸如,諸如MKDE(Microkernel DatenbankMKDE(Microkernel Datenbank Engine)Engine),微核提供物理數(shù)據(jù)存取,事務(wù)管理等,微
56、核提供物理數(shù)據(jù)存取,事務(wù)管理等應(yīng)用:應(yīng)用:Mail:wyh_57572022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-微核微核(8)(8)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)可移植性可移植性(微核不移植和移植兩種情況)性能性能(微核支持不同的視圖,與只提供特定視圖的系統(tǒng)相比,一般性能要低)適應(yīng)性和可擴(kuò)展性適應(yīng)性和可擴(kuò)展性(只需填加一個(gè)外部服務(wù)器)設(shè)計(jì)和實(shí)現(xiàn)的復(fù)雜性設(shè)計(jì)和實(shí)現(xiàn)的復(fù)雜性策略與機(jī)制的分離策略與機(jī)制的分離(微核提供機(jī)制,外部服務(wù)器實(shí)現(xiàn)策略)Mail:wyh_58582022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模
57、式、體系結(jié)構(gòu)模式.3、SASA模式模式-C/SC/S與與B/S (9)B/S (9)DB_serverclientMail:wyh_59592022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-C/SC/S與與B/S (9)B/S (9)App_serverclientDB_serverclientclientDB_serverMail:wyh_60602022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-C/SC/S與與B/S (9)B/
58、S (9)App_serverclientDB_serverclientclientDB_serverwww_serverMail:wyh_61612022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式- - C/SC/S與與B/S (9)B/S (9)n服務(wù)器構(gòu)件:向多個(gè)客戶提供服務(wù)。服務(wù)器構(gòu)件:向多個(gè)客戶提供服務(wù)。n客戶構(gòu)件:向服務(wù)器請(qǐng)求服務(wù)。客戶構(gòu)件:向服務(wù)器請(qǐng)求服務(wù)。n連接件:某種進(jìn)程間通信機(jī)制連接件:某種進(jìn)程間通信機(jī)制。n但但偏向于偏向于“集中集中”式,是分布式應(yīng)用的式,是分布式應(yīng)用的“雛雛形形”Mail:wyh_6
59、2622022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式- - C/SC/S與與B/S (9)B/S (9)是目前應(yīng)用系統(tǒng)的主流結(jié)構(gòu)是目前應(yīng)用系統(tǒng)的主流結(jié)構(gòu)應(yīng)用:應(yīng)用:Mail:wyh_63632022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式- - C/SC/S與與B/S (9)B/S (9)優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)系統(tǒng)的可維護(hù)性和可擴(kuò)展性強(qiáng)系統(tǒng)的可維護(hù)性和可擴(kuò)展性強(qiáng)(層次的劃分使邏輯上相對(duì)獨(dú)立)運(yùn)行效率低運(yùn)行效率低(額外的中間層帶來的,特別是三層以上)有利
60、于系統(tǒng)平臺(tái)的靈活選擇,具有利于系統(tǒng)平臺(tái)的靈活選擇,具有良好的開放性有良好的開放性開發(fā)效率高開發(fā)效率高(各層可并行開發(fā))安全性高安全性高(諸如非法者很難繞過功能層訪問數(shù)據(jù)層)Mail:wyh_64642022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-正交軟件體系結(jié)構(gòu)正交軟件體系結(jié)構(gòu)(10)(10)A AB BC CF FG GK KD DE E第第1 1層層第第2 2層層第第3 3層層第第4 4層層Mail:wyh_65652022年年7月月4日日22時(shí)時(shí)48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、S
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版存量買賣合同二零二五年度新型建筑材料3篇
- 2025年智慧城市規(guī)劃設(shè)計(jì)與應(yīng)用技術(shù)服務(wù)合同3篇
- 2025年度人工智能教育機(jī)構(gòu)勞動(dòng)合同協(xié)議書范本3篇
- 2025年70米煙囪拆除工程施工用電安全管理與監(jiān)督合同3篇
- 2025年美甲美睫店兼職美甲師合作協(xié)議
- 2025年度體育賽事活動(dòng)場(chǎng)地租用及保障服務(wù)協(xié)議3篇
- 二零二五年度廠房租賃安全生產(chǎn)責(zé)任書3篇
- 2025年度智能建筑項(xiàng)目分包勞務(wù)協(xié)議補(bǔ)充合同
- 2025年建筑工程施工合同模板:綠色建筑性能檢測(cè)與認(rèn)證3篇
- 二零二五年度汽車維修配件供應(yīng)鏈合同樣本3篇
- 服務(wù)器報(bào)價(jià)表
- 2025年高考化學(xué)試題分析及復(fù)習(xí)策略講座
- 世界近代史-對(duì)接選擇性必修 課件-高考統(tǒng)編版歷史一輪復(fù)習(xí)
- 2024-2029年中國(guó)制漿系統(tǒng)行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 大門封條模板
- 【“凡爾賽”網(wǎng)絡(luò)流行語(yǔ)的形成及傳播研究11000字(論文)】
- ppr管件注塑工藝
- 液化氣站其他危險(xiǎn)和有害因素辨識(shí)及分析
- 高中語(yǔ)文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計(jì)及總結(jié)反思
- 中國(guó)農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
- 市政道路建設(shè)工程竣工驗(yàn)收質(zhì)量自評(píng)報(bào)告
評(píng)論
0/150
提交評(píng)論