




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)王映輝 博士(后),教授,博導(dǎo)Mail:wyh_2 22022年年7月月4日日22時時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è)計模式、設(shè)計模式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時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.1、模式及其構(gòu)成要素、模式及其構(gòu)成要素模式實例模式實例_Model/View/Controller:_Model/View/Controller: 在人機界面軟件時在人機界面軟件時, ,要求要求: :人機界面容人機界面容易修改易修改( (包括運行期間包括運行期間),),應(yīng)用程序的核應(yīng)用程序的核心代碼不受影響。心代碼不受影響。 解決策略:將處理解決策略:將處理(model)(model)、輸出、輸出(view)(view)和輸入和輸入(controller)(controller)劃分開。劃分開。Mail:w
3、yh_5 52022年年7月月4日日22時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.1、模式及其構(gòu)成要素、模式及其構(gòu)成要素模式實例模式實例_Model/View/Controller:_Model/View/Controller:ModelModelViewViewControllerControllerObserverObservercall updateAttachgetDatacreatemanipulatedisplayattachCall service11.*用戶Mail:wyh_6 62022年年7月月4日日22時時48分分P2-1P2-1、
4、模式的概念與分類、模式的概念與分類.1、模式及其構(gòu)成要素、模式及其構(gòu)成要素模式的構(gòu)成關(guān)鍵要素模式的構(gòu)成關(guān)鍵要素: :問題出現(xiàn)的背景是什么:問題出現(xiàn)的背景是什么:語境語境在此背景下重復(fù)出現(xiàn)什么問題:在此背景下重復(fù)出現(xiàn)什么問題:問題問題采用什么方案來解決:采用什么方案來解決:解決方案解決方案如何實現(xiàn)解決方案:如何實現(xiàn)解決方案:實現(xiàn)實現(xiàn)Mail:wyh_7 72022年年7月月4日日22時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.2、模式的定義、模式的定義Christopher AlexanderChristopher Alexander對城市和
5、建筑模式的描述對城市和建筑模式的描述: :“每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題解決方案的核心內(nèi)容。這生的問題,以及該問題解決方案的核心內(nèi)容。這樣,你可以一次又一次地使用該方案而不必做重樣,你可以一次又一次地使用該方案而不必做重復(fù)勞動復(fù)勞動”軟件體系結(jié)構(gòu)模式軟件體系結(jié)構(gòu)模式: :描述了在特定設(shè)計描述了在特定設(shè)計語境語境中中重復(fù)再現(xiàn)重復(fù)再現(xiàn)的的設(shè)計問題設(shè)計問題,并為之提供一個經(jīng)過充分,并為之提供一個經(jīng)過充分驗證了驗證了的通用解決的通用解決方案方案。該方案提供了。該方案提供了構(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時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.3、模式的特點、模式的特點模式的特點模式的特點: :一個模式關(guān)注一個在特定設(shè)計語境中設(shè)計問題的重復(fù)出現(xiàn)一個模式關(guān)注一個在特定設(shè)計語境中設(shè)計問題的重復(fù)出現(xiàn)一個模式為特定的問題提供一個特定的解決方案一個模式為特定的問題提供一個特定的解決方案模式用文檔記錄下了經(jīng)過充分驗證了的設(shè)計經(jīng)驗?zāi)J接梦臋n記錄下了經(jīng)過充分驗證了的設(shè)計經(jīng)驗?zāi)J剿幍某橄髮哟文J剿幍某橄髮哟? (單個類、實例、或構(gòu)件層次單個類、實例、或構(gòu)件層次)
7、 )是明確的是明確的模式設(shè)計提供了一種公共的詞匯和理解模式設(shè)計提供了一種公共的詞匯和理解模式是軟件體系結(jié)構(gòu)建立文檔的一種手段模式是軟件體系結(jié)構(gòu)建立文檔的一種手段模式通過支持軟件的功能屬性和質(zhì)量屬性來構(gòu)造軟件模式通過支持軟件的功能屬性和質(zhì)量屬性來構(gòu)造軟件模式有助于建立一個復(fù)雜的和異構(gòu)的軟件體系結(jié)構(gòu)模式有助于建立一個復(fù)雜的和異構(gòu)的軟件體系結(jié)構(gòu)模式有助于管理軟件的復(fù)雜度模式有助于管理軟件的復(fù)雜度Mail:wyh_9 92022年年7月月4日日22時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.4、模式的優(yōu)勢、模式的優(yōu)勢促進設(shè)計復(fù)用促進設(shè)計復(fù)用帶來巨大的代碼復(fù)用帶來巨
8、大的代碼復(fù)用系統(tǒng)組成更易于被他人理解系統(tǒng)組成更易于被他人理解有利于系統(tǒng)的互操作性有利于系統(tǒng)的互操作性模式的存在,有利于模式的存在,有利于SA的分析的分析有利于特定模式有利于特定模式SA的可視化的可視化使用模式的優(yōu)勢使用模式的優(yōu)勢Mail:wyh_10102022年年7月月4日日22時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.5、模式的描述內(nèi)容、模式的描述內(nèi)容 名稱名稱:名稱和一個簡短的摘要:名稱和一個簡短的摘要 別名別名:模式的其它名稱:模式的其它名稱 例子例子:輔助說明有用的地方:輔助說明有用的地方 語境語境:應(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ī)格說明( (諸如類圖諸如類圖) ) 動態(tài)行為動態(tài)行為:描述模式在運行期間的典型場景:描述模式在運行期間的典型場景( (諸如順序圖諸如順序圖) ) 實現(xiàn)實現(xiàn):實現(xiàn)模式的指南,包括一些規(guī)則和步驟:實現(xiàn)模式的指南,包括一些規(guī)則和步驟 變體變體:模式變體或特例的簡短描述:模式變體或特例的簡短描述 效果效果:優(yōu)缺點:優(yōu)缺點 參見參見:參考那些解決相似問題的模式,有利于細(xì)化本模式:參考那些解決相似問題的模式,有利于細(xì)化本模式模式的描述模板模式的描述模板Mail:wyh_1111
10、2022年年7月月4日日22時時48分分P2-1P2-1、模式的概念與分類、模式的概念與分類.6、模式分類、模式分類( (模式類別模式類別) ) 低層模式:低層模式:慣用法慣用法(idiom)(idiom) 中層模式:中層模式:設(shè)計模式設(shè)計模式(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è)計模式、設(shè)計模式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時時48分分P2-2P2-2、慣用法、慣用法.1、慣用法的特點、慣用法的特點是與具體語言密切相關(guān)的編程經(jīng)驗的總結(jié)是與具體語言密切相關(guān)的編程經(jīng)驗的總結(jié)描述如何使用給定的語言特征來實現(xiàn)構(gòu)件的描述如何使用給定的語言特征來實現(xiàn)構(gòu)件的特定方面及其關(guān)系特定方面及其關(guān)系代表最底層的模式代表最底層的模式慣用法更
12、關(guān)注設(shè)計的實現(xiàn)慣用法更關(guān)注設(shè)計的實現(xiàn)可能是一種特定設(shè)計模式的具體實現(xiàn)可能是一種特定設(shè)計模式的具體實現(xiàn)Mail:wyh_14142022年年7月月4日日22時時48分分P2-2P2-2、慣用法、慣用法.2、慣用法的益處、慣用法的益處一組相關(guān)的慣用法會使在程序中形成一致的風(fēng)格一組相關(guān)的慣用法會使在程序中形成一致的風(fēng)格一致的程序設(shè)計風(fēng)格將加速程序設(shè)計的進程一致的程序設(shè)計風(fēng)格將加速程序設(shè)計的進程一致的風(fēng)格使程序更容易理解,有利于程序的開一致的風(fēng)格使程序更容易理解,有利于程序的開發(fā)和維護發(fā)和維護.3、慣用法的發(fā)現(xiàn)、慣用法的發(fā)現(xiàn)語言書的導(dǎo)言部分語言書的導(dǎo)言部分某些設(shè)計模式解
13、決程序設(shè)計問題某些設(shè)計模式解決程序設(shè)計問題建立自己的程序設(shè)計指南建立自己的程序設(shè)計指南, ,并在開發(fā)人員之間交流并在開發(fā)人員之間交流P2-1P2-1、模式的概念與分類、模式的概念與分類P2-2P2-2、慣用法、慣用法P2-3P2-3、設(shè)計模式、設(shè)計模式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時時48分分P2-3P2-3、設(shè)計模式、設(shè)計模式.1、設(shè)計模式分類、設(shè)計模式分類( (問題類別問題
14、類別) )結(jié)構(gòu)化分解:結(jié)構(gòu)化分解:整體整體- -部分模式部分模式工作的組織:工作的組織:主控主控- -存儲模式存儲模式訪問控制:訪問控制:代理模式代理模式管理:管理:命令處理器模式命令處理器模式 視圖處理模式視圖處理模式通訊:通訊:轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)器- -接收器模式接收器模式 客戶機客戶機- -分配器分配器- -服務(wù)器模式服務(wù)器模式 出版者出版者- -訂閱者模式訂閱者模式整體部分被廣泛應(yīng)用于復(fù)雜構(gòu)件中整體部分被廣泛應(yīng)用于復(fù)雜構(gòu)件中支持服務(wù)分解,用在容錯、并支持服務(wù)分解,用在容錯、并行計算、計算準(zhǔn)確性等方面行計算、計算準(zhǔn)確性等方面保護被訪問的服務(wù)和構(gòu)件。保護被訪問的服務(wù)和構(gòu)件。代理模式允許與構(gòu)件的代表
15、代理模式允許與構(gòu)件的代表通訊而不是與構(gòu)件本身通訊通訊而不是與構(gòu)件本身通訊將一類事物視為一個整體將一類事物視為一個整體來處理。命令處理模式處來處理。命令處理模式處理用戶的命令和協(xié)議理用戶的命令和協(xié)議視圖處理模式描述如何視圖處理模式描述如何在一個系統(tǒng)中管理視圖在一個系統(tǒng)中管理視圖處理對等通訊問題處理對等通訊問題處 理 位 置 透處 理 位 置 透明性問題明性問題處理數(shù)據(jù)一致性問題處理數(shù)據(jù)一致性問題Mail:wyh_17172022年年7月月4日日22時時48分分P2-3P2-3、設(shè)計模式、設(shè)計模式.1、設(shè)計模式分類、設(shè)計模式分類( (模式類別模式類別) ) 目的目的分類分類設(shè)計模式
16、設(shè)計模式對可變方面的支持對可變方面的支持創(chuàng)建創(chuàng)建(5)Abstract FactoryBuilderFactory MethodPrototypeSingleton產(chǎn)品對象家族產(chǎn)品對象家族(視圖處理模式)(視圖處理模式)創(chuàng)建一個組合對象創(chuàng)建一個組合對象被實例化的子類被實例化的子類被實例化的類被實例化的類一個類的唯一實例一個類的唯一實例結(jié)構(gòu)結(jié)構(gòu)(7)AdapterBridgeCompositeDecoratorFacadeFlyweightProxy對象的接口對象的接口對象的實現(xiàn)對象的實現(xiàn)一個對象的結(jié)構(gòu)和組織一個對象的結(jié)構(gòu)和組織(整體(整體-部分部分)對象的職責(zé),不生成子類對象的職責(zé),不生成子類
17、(代理,代理中的代理)(代理,代理中的代理)一個子系統(tǒng)的接口一個子系統(tǒng)的接口(整體(整體-部分,但不強調(diào)封裝,可直接訪問部分)部分,但不強調(diào)封裝,可直接訪問部分) (代理)(代理)對象的存儲開銷對象的存儲開銷如何訪問一個對象如何訪問一個對象(代理)(代理)行為行為(11)Chain of ResponsibilityCommandInterpreterInteratorMediatorMementoOberverStateStrategyTemplete MethodVisiter滿足一個請求的對象滿足一個請求的對象(主控(主控-從屬)從屬)何時、怎么滿足一個請求何時、怎么滿足一個請求(主控(
18、主控-從屬)(命令處理器)從屬)(命令處理器)一個語言的文法與解釋一個語言的文法與解釋如何遍歷、訪問一個聚合的各元素如何遍歷、訪問一個聚合的各元素(代理)(代理)對象間怎樣交互、如何交互對象間怎樣交互、如何交互(主控(主控-從屬)從屬) (視圖處理模式)(視圖處理模式)對象的哪些私有信息應(yīng)該存放在對象之外,以及在什么時候進行存儲對象的哪些私有信息應(yīng)該存放在對象之外,以及在什么時候進行存儲(命令處理器)(命令處理器)依賴與另外一個對象的多個對象如何保持一致依賴與另外一個對象的多個對象如何保持一致(出版者(出版者-發(fā)行者)發(fā)行者)對象的狀態(tài)對象的狀態(tài)算法算法算法中某些步驟算法中某些步驟某些作用于一
19、個或一組對象上的操作,但不修改這些對象的類某些作用于一個或一組對象上的操作,但不修改這些對象的類P2-1P2-1、模式的概念與分類、模式的概念與分類P2-2P2-2、慣用法、慣用法P2-3P2-3、設(shè)計模式、設(shè)計模式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時時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è)計的開始階段用在粗粒度設(shè)計的開始階段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è)計規(guī)則來確定和表現(xiàn)的。限制和構(gòu)件的組織與設(shè)計規(guī)則來確定和表現(xiàn)的。Mail:wyh_20202022年年7月月4日日2
21、2時時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) 虛擬機虛擬機 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獨立構(gòu)件獨立構(gòu)件 Blackboards Communicating processes Event systems(implicit invocation)Mail:wyh_21212022年年7月月4日日22時時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時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)過濾器過濾器過濾器過濾器過濾器過濾器管道管道管道管道管道管道管道Pipe&FilterMail:wyh_23232022年年7月月4日日22時時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過濾器必須是獨立的主體獨立的主體,無須知道輸入/出管道的存在。但要對輸入管道輸入管道和輸入數(shù)據(jù)流輸入數(shù)據(jù)流進行限制。n管道過濾器構(gòu)成的網(wǎng)絡(luò),網(wǎng)絡(luò),其輸出輸出的正確性正確性與過濾器的遞增處理順序無關(guān)。n注意注意:將每個過濾器的輸入/出限制為單一的,則管道-過濾器退化為順序
25、批處理系統(tǒng)順序批處理系統(tǒng)( (Batch sequential) )。Mail:wyh_24242022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)詞法分析詞法分析/ /掃描器掃描器語法分析語法分析/ /分析器分析器語語 義義 分分 析析中間代碼生成中間代碼生成Unix shell:Unix shell: cat filecat file| |grep xyzgrep xyz| |sortsort| |uniquniqoutout 即找到含即找到含xyzxyz的行,排序、取掉相同的行,
26、最后輸出的行,排序、取掉相同的行,最后輸出信號處理系統(tǒng)并行計算編譯器Mail:wyh_25252022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-管道管道- -過濾器過濾器(1)(1)優(yōu)點優(yōu)點缺點缺點系統(tǒng)行為易于理解由于該模式數(shù)據(jù)交換占用大量的空間,且數(shù)據(jù)傳輸占用系統(tǒng)的執(zhí)行時間。所以,它不適應(yīng)大量共享數(shù)據(jù)的應(yīng)用設(shè)計支持并發(fā)計算過濾器是在輸入/出有相應(yīng)限制情況下,才能對輸入進行批量轉(zhuǎn)換處理。所以,不適用于交互式的應(yīng)用程序較強的可維護性和可擴展性按照此模式,經(jīng)常導(dǎo)致成為批處理的結(jié)構(gòu)相對獨立的過濾器為性能(吞吐量、死鎖)分析提供
27、了方便由于構(gòu)件不能共享全局狀態(tài)。所以錯誤處理困難Mail:wyh_26262022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動與隱式調(diào)用事件驅(qū)動與隱式調(diào)用(2)(2)廣播媒介agentagentagentagentEvent-based style(Implicit Invocation style)聲明事件監(jiān)聽事件Mail:wyh_27272022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動與隱式調(diào)用事件驅(qū)動與隱式調(diào)用(2)(2)構(gòu)件
28、的接口構(gòu)件的接口:過程的集合+事件的集合過程過程:即可以用一般的方式調(diào)用,也可以聲明為與某些事件相關(guān)構(gòu)件可以聲明或廣播聲明或廣播一個或多個事件,或著向系統(tǒng)注冊它希望響應(yīng)的一個或多個事件連接件連接件:對過程的隱式或顯式調(diào)用Mail:wyh_28282022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動與隱式調(diào)用事件驅(qū)動與隱式調(diào)用(2)(2)數(shù)據(jù)庫中的一致性約束集成開發(fā)環(huán)境中的編輯器支持的語法檢查開發(fā)工具中調(diào)試過程中的變量監(jiān)視器刷新變量值WORD的詞正確性檢查應(yīng)用:應(yīng)用:Mail:wyh_29292022年年7月月4日日
29、22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-事件驅(qū)動與隱式調(diào)用事件驅(qū)動與隱式調(diào)用(2)(2)優(yōu)點優(yōu)點缺點缺點強大的復(fù)用支持功能強大的復(fù)用支持功能(構(gòu)件的加入只須注冊即可)構(gòu)件對系統(tǒng)的無法預(yù)測和控制構(gòu)件對系統(tǒng)的無法預(yù)測和控制(構(gòu)件觸發(fā)事件后無法預(yù)測響應(yīng)的構(gòu)件,即使知道響應(yīng)的構(gòu)件,也無法知道過程調(diào)用的順序)構(gòu)件之間的關(guān)系弱構(gòu)件之間的關(guān)系弱(事件廣播者無須知道那些構(gòu)件受事件影響)數(shù)據(jù)交換問題數(shù)據(jù)交換問題(雖然基于事件的系統(tǒng)可以依靠一個共享的數(shù)據(jù)倉庫進行數(shù)據(jù)交換,但會影響全局的性能和資源的管理)系統(tǒng)演化升級簡單系統(tǒng)演化升級簡單(替換某構(gòu)件不影響其
30、它構(gòu)件)無法進行正確性的判斷和推理無法進行正確性的判斷和推理(過程的語義被觸發(fā)事件的上下文約束所決定,而傳統(tǒng)的對調(diào)用行為的推理必須考慮過程的前置條件和后置條件,所以無法在過程調(diào)用中用傳統(tǒng)的推理來判斷正確性)Mail:wyh_30302022年年7月月4日日22時時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ǔ)實用層Mail:wyh_31312022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分
31、層(3)(3)每一層為上層提供服務(wù),并作為下層的客戶每一層為上層提供服務(wù),并作為下層的客戶層只對鄰層可見層只對鄰層可見連接件定義了層間交互的協(xié)議連接件定義了層間交互的協(xié)議支持遞增抽象層的設(shè)計支持遞增抽象層的設(shè)計支持復(fù)雜問題的分解和增量式步驟序列的實現(xiàn)支持復(fù)雜問題的分解和增量式步驟序列的實現(xiàn)支持軟件復(fù)用:體現(xiàn)在每層只影響鄰層,所以每支持軟件復(fù)用:體現(xiàn)在每層只影響鄰層,所以每層可采用不同的實現(xiàn)方法層可采用不同的實現(xiàn)方法Mail:wyh_32322022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分層(3)(3)廣泛應(yīng)用在分
32、層通訊協(xié)議中,諸如OSI/ISO的分層通訊模型計算機網(wǎng)絡(luò)協(xié)議組,如TCP/IPOSX窗口系統(tǒng)應(yīng)用:應(yīng)用:Mail:wyh_33332022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-分層分層(3)(3)優(yōu)點優(yōu)點缺點缺點支持抽象遞增的設(shè)計支持抽象遞增的設(shè)計(復(fù)雜系統(tǒng)的遞增分解)并不是每個系統(tǒng)都能分層的并不是每個系統(tǒng)都能分層的(即使一個系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,但出于性能的考慮,往往要將一些低級和高級的功能綜合起來的)容易擴展容易擴展(每層只影響鄰層)效率的降低效率的降低(通過若干層的轉(zhuǎn)換帶來的)支持復(fù)用支持復(fù)用(如果對鄰層的
33、接口相同,則在同一層中使用不同的實現(xiàn))抽象層次方法難以選擇抽象層次方法難以選擇(特別是要選取合適的、正確的方法就更難)Mail:wyh_34342022年年7月月4日日22時時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時時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)件就是對
34、象,連接件就是過程構(gòu)件就是對象,連接件就是過程(方法方法)調(diào)用調(diào)用n抽象數(shù)據(jù)類型抽象數(shù)據(jù)類型(ADT)和和OO的區(qū)別:的區(qū)別:ADT只有封裝的只有封裝的特點,沒有繼承和多態(tài)的特征特點,沒有繼承和多態(tài)的特征n要點:要點: 封裝隱藏實現(xiàn)細(xì)節(jié) 繼承由通用的對象開始,逐步定義具體的對象 多態(tài)不同類型的對象對相同的激勵產(chǎn)生不同的響應(yīng)Mail:wyh_36362022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-數(shù)據(jù)抽象和面向?qū)ο髷?shù)據(jù)抽象和面向?qū)ο?4)(4)應(yīng)用非常廣泛,應(yīng)用非常廣泛,實例太多太多!實例太多太多!Mail:wyh_37
35、372022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-數(shù)據(jù)抽象和面向?qū)ο髷?shù)據(jù)抽象和面向?qū)ο?4)(4)優(yōu)點優(yōu)點缺點缺點信息隱藏使修改影響的范圍小信息隱藏使修改影響的范圍小過程調(diào)用依賴于對象的標(biāo)識過程調(diào)用依賴于對象的標(biāo)識封裝的對象使復(fù)雜問題更容易封裝的對象使復(fù)雜問題更容易分解分解對大型系統(tǒng)的分析設(shè)計,需要總對大型系統(tǒng)的分析設(shè)計,需要總體結(jié)構(gòu)的支持體結(jié)構(gòu)的支持方便系統(tǒng)升級方便系統(tǒng)升級(由于方法的實現(xiàn)和對它的調(diào)用請求是分離的,所以,可以在不影響調(diào)用者的情況下,完成實現(xiàn)的變更)Mail:wyh_38382022年年7月月4日日2
36、2時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉庫與黑板倉庫與黑板(5)(5)黑板共享數(shù)據(jù)知識源存儲器計算直接存取Repositories (Blackboard)知識源知識源知識源知識源知識源知識源知識源控制器控制器Mail:wyh_39392022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉庫與黑板倉庫與黑板(5)(5)n知識源:知識源:與特定應(yīng)用相關(guān)的獨立的知識包(parcel),只有通過黑板來完成它們之間的交互n黑板數(shù)據(jù)結(jié)構(gòu):黑板數(shù)據(jù)結(jié)構(gòu):求解問題的狀態(tài)的數(shù)據(jù),
37、并按照層次來組織。知識源通過對黑板的修改來漸進式地達到問題的求解n控制器:控制器:控制器承擔(dān)著限制知識源對黑板的訪問,防止兩個知識源同時寫黑板的某一空間。 控制器完全由黑板狀態(tài)驅(qū)動和決定。一旦黑板數(shù)據(jù)的改變需要知識源的時候,控制器會及時通知知識源隨即進行響應(yīng)Mail:wyh_40402022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉庫與黑板倉庫與黑板(5)(5)n信號處理與模式識別領(lǐng)域n用于具有松散-偶合實體對共享數(shù)據(jù)的存取nFtp服務(wù)器n應(yīng)用:應(yīng)用:Mail:wyh_41412022年年7月月4日日22時時48分分P
38、2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-倉庫與黑板倉庫與黑板(5)(5)優(yōu)點優(yōu)點缺點缺點便于多個客戶共享大量的數(shù)據(jù)便于多個客戶共享大量的數(shù)據(jù)對黑板數(shù)據(jù)結(jié)構(gòu)的修改比較困難對黑板數(shù)據(jù)結(jié)構(gòu)的修改比較困難(要考慮不同的知識源對共享數(shù)據(jù)達成一致)方便于添加新的知識源應(yīng)用程方便于添加新的知識源應(yīng)用程序序系統(tǒng)復(fù)雜系統(tǒng)復(fù)雜(因為需要一定的同步/加鎖機制保證數(shù)據(jù)結(jié)構(gòu)的完整性和一致性)Mail:wyh_42422022年年7月月4日日22時時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)計算狀態(tài)機輸出輸入選擇的指令選擇的指令選擇的數(shù)據(jù)選擇的數(shù)據(jù)存儲器數(shù)據(jù)存取Mail:wyh_43432022年年7月月4日日22時時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)計
40、算狀態(tài)機輸出輸入選擇的指令選擇的指令選擇的數(shù)據(jù)選擇的數(shù)據(jù)存儲器數(shù)據(jù)存取模擬解釋引擎(解釋器定義)Mail:wyh_44442022年年7月月4日日22時時48分分存儲器存儲器P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)Interpreters/Virtual Machine 數(shù)據(jù)(程序狀態(tài))正在被解釋的程序內(nèi)部解釋器狀態(tài)計算狀態(tài)機輸出輸入選擇的指令選擇的指令選擇的數(shù)據(jù)選擇的數(shù)據(jù)存儲器數(shù)據(jù)存取模擬解釋引擎(解釋器定義)Mail:wyh_45452022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式2.4
41、.32.4.3、SASA模式模式-解釋器解釋器(6)(6)n一個解釋器就是一個虛擬機一個解釋器就是一個虛擬機n就就解釋器解釋器來說,一個解釋器包括:偽程序來說,一個解釋器包括:偽程序(pseudoprogram(pseudoprogram) )和解釋引擎和解釋引擎(interpretation engine)(interpretation engine)兩個部分兩個部分n就就虛擬機虛擬機來說,包括:計算狀態(tài)機來說,包括:計算狀態(tài)機CSMCSM(Computation State (Computation State Machine)Machine)和存儲器和存儲器(Memory)(Memory
42、)兩個部分兩個部分n也可以說,一個也可以說,一個解釋器解釋器包括:一個模擬解釋引擎包括:一個模擬解釋引擎(CSM)(CSM)和一個存儲器。而一個存儲器又包括:被解釋的偽碼、和一個存儲器。而一個存儲器又包括:被解釋的偽碼、解釋引擎控制狀態(tài)的表示、以及被模擬程序的當(dāng)前狀態(tài)解釋引擎控制狀態(tài)的表示、以及被模擬程序的當(dāng)前狀態(tài)表示。表示。Mail:wyh_46462022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)n Java Java的的VMVMn一些高級語言解釋執(zhí)行器一些高級語言解釋執(zhí)行器nMicrosof
43、tMicrosoft的的.NET.NET核心核心CLRCLR支持支持ILIL的解釋執(zhí)行的解釋執(zhí)行nMail:wyh_47472022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-解釋器解釋器(6)(6)優(yōu)點優(yōu)點缺點缺點有利于實現(xiàn)程序的可移植性和語有利于實現(xiàn)程序的可移植性和語言的跨平臺的能力言的跨平臺的能力性能的下降性能的下降(額外的中間層帶來的)可對未來的硬件進行模擬和仿真可對未來的硬件進行模擬和仿真安全性的提高安全性的提高(代碼可控制)Mail:wyh_48482022年年7月月4日日22時時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時時48分分P2-4P2-4、體系
46、結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-代理者代理者(broker)(7)(broker)(7)ClientClientClient-sideClient-sideProxyProxyBrokerBrokerServer-sideServer-sideProxyProxyServerServer直接通訊的系統(tǒng) 在客戶機和服務(wù)器使用相同的協(xié)議時,可使用直接通訊的系統(tǒng),此時,代理者的作用僅僅是在客戶機和服務(wù)器之間建立通信鏈的作用,此后的消息、異常和應(yīng)答等直接在客戶機端代理和服務(wù)器端代理之間直接進行。Mail:wyh_50502022年年7月月4日日22時時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時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式2.4.
48、32.4.3、SASA模式模式-代理者代理者(7)(7)n 環(huán)境環(huán)境:帶有獨立構(gòu)件的分布式,并可能是異構(gòu)的系統(tǒng)。:帶有獨立構(gòu)件的分布式,并可能是異構(gòu)的系統(tǒng)。是由獨立互操作構(gòu)件構(gòu)建的、非整體的、復(fù)雜應(yīng)用系統(tǒng),是由獨立互操作構(gòu)件構(gòu)建的、非整體的、復(fù)雜應(yīng)用系統(tǒng),系統(tǒng)具有較強的靈活性和可變更性系統(tǒng)具有較強的靈活性和可變更性n 運行機理:運行機理:服務(wù)器向代理者注冊自己,并使其服務(wù)通過接口能被客戶機使服務(wù)器向代理者注冊自己,并使其服務(wù)通過接口能被客戶機使用用客戶機通過代理者發(fā)送請求訪問服務(wù)器功能客戶機通過代理者發(fā)送請求訪問服務(wù)器功能代理者的任務(wù)包括:定位合適的服務(wù)器、將請求轉(zhuǎn)發(fā)到服務(wù)器、代理者的任務(wù)包括
49、:定位合適的服務(wù)器、將請求轉(zhuǎn)發(fā)到服務(wù)器、并向客戶機回送結(jié)果和異常并向客戶機回送結(jié)果和異常n 作用:作用:通過代理,應(yīng)用程序只是簡單地向合適的對象通過代理,應(yīng)用程序只是簡單地向合適的對象發(fā)出消息發(fā)出消息調(diào)用分調(diào)用分布在網(wǎng)絡(luò)上的服務(wù),而布在網(wǎng)絡(luò)上的服務(wù),而無須無須將重點放在將重點放在低級進程間通訊低級進程間通訊代理將對象模型從代理將對象模型從單一單一應(yīng)用程序應(yīng)用程序擴展擴展到由運行在到由運行在異構(gòu)機異構(gòu)機上的上的不不同語言同語言編寫的獨立構(gòu)件組成的編寫的獨立構(gòu)件組成的分布式分布式應(yīng)用程序應(yīng)用程序Mail:wyh_52522022年年7月月4日日22時時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)上的分布式對象的面定義的,處理異構(gòu)系統(tǒng)上的分布式對象的面向?qū)ο蠹夹g(shù)。向?qū)ο蠹夹g(shù)。nOLE2.XOLE2.XnWWWWWW是世界上最大的可用代理系統(tǒng)是世界上最大的可用代理系統(tǒng)n應(yīng)用:應(yīng)用:Mail:wyh_53532022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SAS
51、A模式模式-代理者代理者(7)(7)優(yōu)點優(yōu)點缺點缺點定位透明定位透明效率受到限制效率受到限制(額外的中間層帶來的)構(gòu)件的可變性和系統(tǒng)的可擴展性構(gòu)件的可變性和系統(tǒng)的可擴展性容錯性差容錯性差(執(zhí)行期間服務(wù)器或代理的失效導(dǎo)致依賴于它們的程序?qū)o法繼續(xù)進行下去)不同代理系統(tǒng)之間的互操作性不同代理系統(tǒng)之間的互操作性(代理本來是要實現(xiàn)協(xié)議轉(zhuǎn)換的)測試和調(diào)試涉及許多構(gòu)件,比較測試和調(diào)試涉及許多構(gòu)件,比較麻煩麻煩系統(tǒng)的可移植性系統(tǒng)的可移植性可復(fù)用性可復(fù)用性(體現(xiàn)在集成方便)Mail:wyh_54542022年年7月月4日日22時時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時時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)件在一個獨立進程中運行時互相個獨立進程中運行時互相通訊通訊的功能;負(fù)責(zé)維護的功能;負(fù)
54、責(zé)維護資源資源,如文件、進程等;提供其它構(gòu)件存取其功能的如文件、進程等;提供其它構(gòu)件存取其功能的接口接口。n內(nèi)部服務(wù)器:實現(xiàn)了在微核中不能實現(xiàn)的核心功能內(nèi)部服務(wù)器:實現(xiàn)了在微核中不能實現(xiàn)的核心功能( (出于出于復(fù)雜性的考慮復(fù)雜性的考慮) )n每個外部服務(wù)器:是一個獨立的進程,即應(yīng)用程序平臺,每個外部服務(wù)器:是一個獨立的進程,即應(yīng)用程序平臺,它通過微核的接口獲得的機制實現(xiàn)自己的基本功能它通過微核的接口獲得的機制實現(xiàn)自己的基本功能n客戶機通過使用微核提供的通訊能力與外部服務(wù)器通訊客戶機通過使用微核提供的通訊能力與外部服務(wù)器通訊n一個微核系統(tǒng)可以被看成集成了其它應(yīng)用平臺的公共應(yīng)一個微核系統(tǒng)可以被看成
55、集成了其它應(yīng)用平臺的公共應(yīng)用支撐平臺用支撐平臺Mail:wyh_56562022年年7月月4日日22時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-微核微核(8)(8)nOSOS,諸如,諸如MS-WindowsMS-Windows:核心包括進程和線程的管理,:核心包括進程和線程的管理,低級低級I/OI/O,點到點通訊服務(wù)等,點到點通訊服務(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時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式-微核微核(8)(8)優(yōu)點優(yōu)點缺點缺點可移植性可移植性(微核不移植和移植兩種情況)性能性能(微核支持不同的視圖,與只提供特定視圖的系統(tǒng)相比,一般性能要低)適應(yīng)性和可擴展性適應(yīng)性和可擴展性(只需填加一個外部服務(wù)器)設(shè)計和實現(xiàn)的復(fù)雜性設(shè)計和實現(xiàn)的復(fù)雜性策略與機制的分離策略與機制的分離(微核提供機制,外部服務(wù)器實現(xiàn)策略)Mail:wyh_58582022年年7月月4日日22時時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時時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時時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時時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)件:向多個客戶提供服務(wù)。服務(wù)器構(gòu)件:向多個客戶提供服務(wù)。n客戶構(gòu)件:向服務(wù)器請求服務(wù)。客戶構(gòu)件:向服務(wù)器請求服務(wù)。n連接件:某種進程間通信機制連接件:某種進程間通信機制。n但但偏向于偏向于“集中集中”式,是分布式應(yīng)用的式,是分布式應(yīng)用的“雛雛形形”Mail:wyh_6
59、2622022年年7月月4日日22時時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時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、SASA模式模式- - C/SC/S與與B/S (9)B/S (9)優(yōu)點優(yōu)點缺點缺點系統(tǒng)的可維護性和可擴展性強系統(tǒng)的可維護性和可擴展性強(層次的劃分使邏輯上相對獨立)運行效率低運行效率低(額外的中間層帶來的,特別是三層以上)有利
60、于系統(tǒng)平臺的靈活選擇,具有利于系統(tǒng)平臺的靈活選擇,具有良好的開放性有良好的開放性開發(fā)效率高開發(fā)效率高(各層可并行開發(fā))安全性高安全性高(諸如非法者很難繞過功能層訪問數(shù)據(jù)層)Mail:wyh_64642022年年7月月4日日22時時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時時48分分P2-4P2-4、體系結(jié)構(gòu)模式、體系結(jié)構(gòu)模式.3、S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 別墅贈送地下室合同范本
- 廚具店雇傭合同范本
- 個人工作年度總結(jié)自我鑒定
- 保密協(xié)議 合同范本
- 醫(yī)療設(shè)備抵押合同范例
- 工業(yè)鍋爐司爐題庫與參考答案
- 賣車轉(zhuǎn)讓合同范本
- 一年級新生入學(xué)家長會的發(fā)言稿
- 《雨》閱讀理解訓(xùn)練題及答案
- 東南亞企業(yè)合同范本
- 超高分子量聚乙烯纖維發(fā)展前景分析
- 腦梗死伴發(fā)高血壓的護理
- 派出所開展小學(xué)安全教育講座
- 2024年全國公務(wù)員考試公共基礎(chǔ)知識C類真題及解析
- 2016-2023年南京科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 助產(chǎn)健康宣教課件
- 機房運維報告
- 離婚協(xié)議書完整版Word模板下載
- 雪花勇闖天涯XPARTY活動策劃方案
- 2023年汽車修理工(高級)考試試題庫附答案
- 混凝土配合比全自動計算書
評論
0/150
提交評論