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

正文內(nèi)容

軟件設(shè)計(jì)zhousu第6章體系結(jié)構(gòu)的模式與結(jié)構(gòu)-閱讀頁(yè)

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

【正文】 表示上的一些不變式來(lái)實(shí)現(xiàn)的), – ② 這種表示對(duì)其他對(duì)象是隱藏的。雖然對(duì)于系統(tǒng)中對(duì)象類型的定義,繼承是一個(gè)非常重要的概念,但是它不具備直接的體系結(jié)構(gòu)功能。在體系結(jié)構(gòu)范疇中,屬性的繼承并不只限制在對(duì)象中,也包括連接件,甚至體系結(jié)構(gòu)風(fēng)格。一些系統(tǒng)允許“對(duì)象”是并發(fā)的任務(wù);還有一些系統(tǒng)允許對(duì)象擁有多個(gè)接口。由于對(duì)象對(duì)客戶隱藏了實(shí)現(xiàn)的細(xì)節(jié),所以可以在不影響其客戶的情況下改變對(duì)象的實(shí)現(xiàn)。 數(shù)據(jù)抽象和面向?qū)ο蠼M織 ? 但是,面向?qū)ο笙到y(tǒng)最大的缺點(diǎn)是,當(dāng)一個(gè)對(duì)象和其他對(duì)象交互(過(guò)程調(diào)用),它必須知道其他對(duì)象的標(biāo)識(shí)。在面向?qū)ο笙到y(tǒng)中,每當(dāng)一個(gè)對(duì)象的標(biāo)識(shí)改變的時(shí)候,必須修改那些顯式調(diào)用它的對(duì)象。這樣做同樣會(huì)有副作用:對(duì)象 A使用了對(duì)象 B,對(duì)象 C也使用了對(duì)象 B,則對(duì)象 C對(duì)對(duì)象 B的影響可能產(chǎn)生對(duì)對(duì)象 A不可預(yù)料的副作用,反之亦然。然而,還有另一種可供選擇的集成技術(shù),稱為隱式調(diào)用( Implicit Invocation,或稱響應(yīng)集成、選擇性廣播等),這種模式起源于基于角色的系統(tǒng)、約束滿足性檢查、后臺(tái)程序和包交換網(wǎng)絡(luò)。系統(tǒng)中的其他構(gòu)件通過(guò)注冊(cè)與一個(gè)事件關(guān)聯(lián)起來(lái)的過(guò)程,來(lái)表示對(duì)某一個(gè)事件感興趣。這樣一個(gè)事件的激發(fā)會(huì)導(dǎo)致其他模塊中過(guò)程的隱式調(diào)用。 ? 當(dāng)一個(gè)調(diào)試器停止在一個(gè)中斷點(diǎn)上,它會(huì)發(fā)布一個(gè)事件,這個(gè)事件會(huì)使系統(tǒng)自動(dòng)地調(diào)用那些已注冊(cè)工具的相應(yīng)過(guò)程。在這個(gè)方案中,調(diào)試器僅僅發(fā)布一個(gè)事件,但是它既不需要知道其他工具或動(dòng)作是否和這個(gè)事件相關(guān)聯(lián),也不需要知道這個(gè)事件發(fā)布后它們將要做什么。過(guò)程可能以一般的方式被調(diào)用,但構(gòu)件可以將過(guò)程注冊(cè)到與其相關(guān)聯(lián)的系統(tǒng)事件中,這樣,當(dāng)事件發(fā)生時(shí),過(guò)程會(huì)被間接調(diào)用。因此,構(gòu)件不能對(duì)事件的處理順序,或者事件發(fā)生后的處理結(jié)果做任何假設(shè)。 ? 使用隱式調(diào)用機(jī)制的例子很多,比如,編程環(huán)境中的工具集成,數(shù)據(jù)庫(kù)管理系統(tǒng)中的一致性約束,用戶界面中數(shù)據(jù)表示與管理數(shù)據(jù)的應(yīng)用程序的分離,語(yǔ)法導(dǎo)向的增量語(yǔ)義檢查。通過(guò)注冊(cè)一個(gè)系統(tǒng)事件,任何一個(gè)構(gòu)件都可以很容易地引入到系統(tǒng)中來(lái)。在不改變系統(tǒng)中其他構(gòu)件接口的情況下,構(gòu)件可以非常容易的被其他構(gòu)件取代。當(dāng)一個(gè)構(gòu)件發(fā)布一個(gè)事件,它不能保證其他構(gòu)件會(huì)對(duì)其做出響應(yīng)。另一個(gè)問(wèn)題涉及到數(shù)據(jù)交換。這樣,整體的性能和資源的管理可能成為關(guān)鍵性問(wèn)題。這和傳統(tǒng)的過(guò)程調(diào)用驗(yàn)證不同,當(dāng)對(duì)調(diào)用功能行為進(jìn)行驗(yàn)證時(shí),傳統(tǒng)的過(guò)程調(diào)用只需考慮過(guò)程前和過(guò)程后的條件。其中,偽碼由需要被解釋的源代碼和解釋引擎分析所得到的中間代碼組成。這樣一個(gè)解釋器通常包括四個(gè)部分:完成解釋工作的解釋引擎,一個(gè)包含將被解釋的偽碼的存儲(chǔ)區(qū),一個(gè)記錄解釋引擎當(dāng)前工作狀態(tài)的數(shù)據(jù)結(jié)構(gòu),以及一個(gè)記錄源代碼被解釋執(zhí)行的進(jìn)度的數(shù)據(jù)結(jié)構(gòu)(見(jiàn)圖 613)。例如,我們有時(shí)說(shuō)一門編程語(yǔ)言提供了一個(gè)“ Pascal虛擬機(jī)”。 過(guò)程控制 ? 持續(xù)的過(guò)程通過(guò)對(duì)輸入和中間產(chǎn)物進(jìn)行某些操作,將輸入的材料轉(zhuǎn)化成某些具有特殊屬性的產(chǎn)物。輸入材料、中間產(chǎn)物和操作的屬性通過(guò)過(guò)程變量來(lái)獲得。 過(guò)程控制 ? 過(guò)程控制中的一些有用的定義包括: – ① 過(guò)程變量:可測(cè)的過(guò)程屬性:一些具體的過(guò)程變量需要被區(qū)分開(kāi)來(lái); – ② 被控變量:一種過(guò)程變量,系統(tǒng)通過(guò)控制它的值來(lái)達(dá)到控制目標(biāo); – ③ 輸入變量:一種過(guò)程變量,用來(lái)測(cè)量過(guò)程的輸入。 – ⑤ 設(shè)定點(diǎn):被控變量的期望值。 過(guò)程控制 – ⑦ 閉環(huán)系統(tǒng):在這種系統(tǒng)中,通過(guò)過(guò)程變量中的信息調(diào)整過(guò)程變量,補(bǔ)償過(guò)程變量和操作環(huán)境的變化。 – ⑨ 前饋控制系統(tǒng):一些被控變量是可測(cè)量的,并且預(yù)期的干擾會(huì)被直接補(bǔ)償,不需要等待被控變量的變化值被計(jì)算出來(lái)。如果輸入是沒(méi)有干擾的,過(guò)程是定義完整的,操作是完全可重復(fù)的,那么過(guò)程完全可以在沒(méi)有監(jiān)控的情況下自動(dòng)運(yùn)行。 過(guò)程控制 ? 在實(shí)際過(guò)程控制中,開(kāi)環(huán)系統(tǒng)的假設(shè)很少有效。這樣的系統(tǒng)稱為閉環(huán)系統(tǒng)( Closedloop System)。 主程序 /子程序組織 ? 傳統(tǒng)的主程序 /子程序組織結(jié)構(gòu)模式將功能分解為一個(gè)控制層次,其中“主”程序調(diào)用一組程序構(gòu)件,這些程序構(gòu)件又去調(diào)用其他構(gòu)件。很多系統(tǒng)的主要組織結(jié)構(gòu)反映了所使用的編程語(yǔ)言的特點(diǎn)。主程序擔(dān)當(dāng)子程序的驅(qū)動(dòng)器,為子程序提供一個(gè)控制環(huán)路,使子程序以某種次序順序執(zhí)行。 圖 614 主程序 /子程序體系結(jié)構(gòu) 應(yīng) 用 子 程 序 應(yīng) 用 子 程 序 應(yīng) 用 子 程 序應(yīng) 用 子 程 序 應(yīng) 用 子 程 序應(yīng) 用 子 程 序應(yīng) 用 子 程 序控 制 器 子 程 序 控 制 器 子 程 序控 制 器 子 程 序主 程 序 主程序 /子程序組織 ? 此外,特定領(lǐng)域的軟件體系結(jié)構(gòu)( Domainspecific Software Architectures)是指為特定領(lǐng)域開(kāi)發(fā)“參考”模型。將體系結(jié)構(gòu)具體應(yīng)用到某一特定領(lǐng)域中,能夠增加結(jié)構(gòu)的描述能力。 ? 狀態(tài)轉(zhuǎn)換系統(tǒng)( State Transition System)是指很多響應(yīng)系統(tǒng)的通用組織結(jié)構(gòu)。 應(yīng)用框架 ? 應(yīng)用框架( Application Framework)是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件的集合以及構(gòu)件實(shí)例間交互的方法。在很多情況下,框架通常以構(gòu)件庫(kù)的形式出現(xiàn),但構(gòu)件庫(kù)只是框架的一個(gè)重要部分。設(shè)計(jì)模式是對(duì)在某種環(huán)境中反復(fù)出現(xiàn)的問(wèn)題以及解決該問(wèn)題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執(zhí)行或復(fù)用,而對(duì)模式而言只有實(shí)例才能用代碼表示;設(shè)計(jì)模式是比框架更小的元素,一個(gè)框架中往往含有一個(gè)或多個(gè)設(shè)計(jì)模式,框架總是針對(duì)某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種不同的應(yīng)用。而設(shè)計(jì)模式和應(yīng)用框架更加面向具體問(wèn)題。事實(shí)上,大多數(shù)系統(tǒng)都是由很多風(fēng)格組合而成的。一個(gè)系統(tǒng)構(gòu)件被組織成某種體系結(jié)構(gòu)風(fēng)格,但它的內(nèi)部結(jié)構(gòu)可能是另一種完全不同的風(fēng)格。比如,一個(gè)管道連接件內(nèi)部運(yùn)行起來(lái)好像是一個(gè)先進(jìn)先出的隊(duì)列,通過(guò)插入和移出操作訪問(wèn)。比如,一個(gè)構(gòu)件可能通過(guò)它的接口訪問(wèn)知識(shí)庫(kù),但通過(guò)管道與系統(tǒng)中其他構(gòu)件進(jìn)行交互,又通過(guò)其他接口接受控制信息。)另一個(gè)例子是“ active database”。在這種組織結(jié)構(gòu)中,外部構(gòu)件通過(guò)注冊(cè)與數(shù)據(jù)庫(kù)建立聯(lián)系,數(shù)據(jù)庫(kù)通過(guò)這種聯(lián)系自動(dòng)地調(diào)用合適的工具。 應(yīng)用體系結(jié)構(gòu) ? 商業(yè)和機(jī)構(gòu)的所有業(yè)務(wù)幾乎都具有共性 ——需要雇傭人員、開(kāi)出發(fā)票、記賬等。因此,這些業(yè)務(wù)所使用的應(yīng)用系統(tǒng)也有很多共同點(diǎn)。 體系結(jié)構(gòu)的應(yīng)用方式 ? 應(yīng)用體系結(jié)構(gòu)封裝了一類系統(tǒng)的基本特征。盡管這些系統(tǒng)實(shí)例在細(xì)節(jié)上有所不同,但是當(dāng)開(kāi)發(fā)同一類型的新系統(tǒng)時(shí),我們是可以復(fù)用通用體系結(jié)構(gòu)架構(gòu)的。 體系結(jié)構(gòu)的應(yīng)用方式 ? 當(dāng)開(kāi)發(fā)新的系統(tǒng)時(shí)應(yīng)用體系結(jié)構(gòu)往往要重新實(shí)現(xiàn),但是對(duì)大多數(shù)商務(wù)系統(tǒng),應(yīng)用的復(fù)用有可能不需要重新實(shí)現(xiàn)。作為一個(gè)例子,供應(yīng)鏈管理系統(tǒng)可以調(diào)整以面向不同類型的供應(yīng)商、商品以及合同管理。如果不熟悉正在開(kāi)發(fā)的應(yīng)用類型,可以將初始設(shè)計(jì)建立在一般體系結(jié)構(gòu)基礎(chǔ)上。 – 2)作為設(shè)計(jì)檢查列表。 體系結(jié)構(gòu)的應(yīng)用方式 – 3)作為對(duì)開(kāi)發(fā)團(tuán)隊(duì)工作的組織方式??梢苑峙扇蝿?wù)給團(tuán)隊(duì)成員,在同一個(gè)體系結(jié)構(gòu)框架下實(shí)現(xiàn)不同的組件。如果擁有組件,就可以復(fù)用它。 – 5)作為交流應(yīng)用類型的詞匯。 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)( Transaction processing systems, TPS)是設(shè)計(jì)用來(lái)處理用戶對(duì)數(shù)據(jù)庫(kù)信息的查詢或者對(duì)數(shù)據(jù)庫(kù)的更新,允許數(shù)據(jù)庫(kù)中的信息被很多遠(yuǎn)程用戶訪問(wèn)和修改。對(duì)它們的組織要能夠保證用戶之間不會(huì)相互干擾,數(shù)據(jù)庫(kù)的整體性得到保障。 事務(wù)處理系統(tǒng) ? 從技術(shù)角度講,數(shù)據(jù)庫(kù)事務(wù)是一個(gè)操作序列,每個(gè)這樣的操作可以看成是一個(gè)單元(原子單元)。從用戶角度看,事務(wù)是任何一個(gè)相關(guān)操作的序列,這些操作能達(dá)到某個(gè)目的,比如“查詢從倫敦飛往巴黎的班機(jī)的時(shí)間”。 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)總是交互式系統(tǒng),用戶異步地提出對(duì)服務(wù)的請(qǐng)求。首先,用戶通過(guò) I/O處理組件向系統(tǒng)發(fā)出請(qǐng)求。事務(wù)得以創(chuàng)建并傳遞給事務(wù)管理器,事務(wù)管理器嵌入在數(shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)。 圖 615 事務(wù)處理應(yīng)用的體系結(jié)構(gòu) 輸 入 / 輸 出處 理應(yīng) 用 邏 輯 事 務(wù) 管 理 器 數(shù) 據(jù) 庫(kù) 事務(wù)處理系統(tǒng) ? 事務(wù)處理系統(tǒng)可以組織成“管道 過(guò)濾器”的結(jié)構(gòu),分別由系統(tǒng)組件負(fù)責(zé)輸入、處理和輸出。這個(gè)系統(tǒng)由兩個(gè)相互協(xié)作的軟件子系統(tǒng)構(gòu)成,即 ATM軟件和位于銀行數(shù)據(jù)庫(kù)服務(wù)器上的賬戶處理軟件。圖 616顯示了這個(gè)系統(tǒng)的體系結(jié)構(gòu),說(shuō)明了輸入、處理和輸出組件的功能。信息系統(tǒng)允許對(duì)一個(gè)大信息庫(kù)進(jìn)行適當(dāng)?shù)脑L問(wèn)。越來(lái)越多的信息系統(tǒng)是通過(guò)瀏覽器訪問(wèn)的基于 Web的系統(tǒng)。系統(tǒng)采用分層方法,頂層支持用戶界面,底層是系統(tǒng)數(shù)據(jù)庫(kù)。這個(gè)模型中的層能直接映射到基于因特網(wǎng)系統(tǒng)的服務(wù)器上。 圖 618 MHCPMS系統(tǒng)的體系結(jié)構(gòu) 事 務(wù) 管 理病 人 數(shù) 據(jù) 庫(kù) 信 息 安 全 病 人 信 息 數(shù) 據(jù) 導(dǎo) 入 報(bào) 告 管 理 管 理 器 和 導(dǎo) 出 生 成 登 錄 角 色 檢 查 樣 式 和 菜 單 數(shù) 據(jù) 有 效 性 管 理 器 驗(yàn) 證W e b 瀏 覽 器 信息系統(tǒng) ? 在模型的每一層中都增加了一些詳細(xì)內(nèi)容,找出了用于支持用戶通信、信息檢索和訪問(wèn)的組件: – 1)最上層負(fù)責(zé)實(shí)現(xiàn)用戶接口。 – 2)第二層提供用戶接口的功能,這是通過(guò) Web瀏覽器來(lái)傳送的。這一層還包括顯示信息給用戶的表格和菜單管理組件以及核對(duì)信息一致性的數(shù)據(jù)確認(rèn)組件。 – 4)最底層是使用商用的數(shù)據(jù)庫(kù)管理系統(tǒng)建立的,它提供事務(wù)管理和持久的數(shù)據(jù)存儲(chǔ)。例如,電子商務(wù)系統(tǒng)是一種基于互聯(lián)網(wǎng)的資源管理系統(tǒng),它可以接受電子的商品或服務(wù)的訂單,然后安排將商品或服務(wù)遞送給客戶。在這些系統(tǒng)中服務(wù)器的組成可以映射為圖 617所示的四層通用模型。 語(yǔ)言處理系統(tǒng) ? 語(yǔ)言處理系統(tǒng)用來(lái)將文本從一種語(yǔ)言翻譯成另一種語(yǔ)言,例如把自然語(yǔ)言或人工語(yǔ)言翻譯成該類語(yǔ)言的其他表示,對(duì)于編程語(yǔ)言可能會(huì)執(zhí)行產(chǎn)生的代碼,來(lái)執(zhí)行輸入語(yǔ)言所定義的指令。我們最為熟悉的語(yǔ)言處理系統(tǒng)就是編譯器了。然而,語(yǔ)言處理系統(tǒng)也使用在很多其他系統(tǒng)中,比如在數(shù)據(jù)庫(kù)中作為對(duì)命令語(yǔ)言的翻譯,在信息系統(tǒng)中和在標(biāo)記語(yǔ)言比如 XML中。源語(yǔ)言指令定義了將要執(zhí)行的程序,翻譯器會(huì)轉(zhuǎn)換這些稱為抽象機(jī)指令。該過(guò)程的輸出是輸入指令的解釋結(jié)果。然而,對(duì)于動(dòng)態(tài)類型的語(yǔ)言比如 Python,解釋器是一個(gè)軟件組件。它使用相應(yīng)語(yǔ)言所定義的語(yǔ)法并建立語(yǔ)法樹; – ④ 語(yǔ)法樹,它代表待編譯程序的內(nèi)部結(jié)構(gòu); – ⑤ 語(yǔ)義分析層,它使用來(lái)自語(yǔ)法樹和符號(hào)表的信息來(lái)檢查輸入的語(yǔ)言文本的語(yǔ)義正確性; – ⑥ 代碼生成器,它在語(yǔ)法樹中穿行并生成抽象機(jī)代碼。在其他類型語(yǔ)言處理系統(tǒng)中,比如自然語(yǔ)言翻譯器將有附加的組件比如字典組件,所生成的代碼實(shí)際上是用其他語(yǔ)言所表示的輸入文本。編譯器可以用容器和管道 過(guò)濾器的復(fù)合模型實(shí)現(xiàn)。在詞法分析、語(yǔ)法和語(yǔ)義分析階段組成一個(gè)串行結(jié)構(gòu),如圖 620所示,它們之間的通信是通過(guò)共享符號(hào)表實(shí)現(xiàn)的。而對(duì)于集成了其他語(yǔ)言處理工具,比如結(jié)構(gòu)化編輯系統(tǒng)、交互式調(diào)試工具或者是程序的格式轉(zhuǎn)換器,它就不那么有效了。因此,系統(tǒng)最好組織成容器的模型,如圖 621所示。在這個(gè)例子中,符號(hào)表和語(yǔ)法樹是作為中央信息容器的。其他的原先可能嵌入在工具內(nèi)部的信息,比如語(yǔ)法定義和程序的輸出格式定義等,已經(jīng)被提取出來(lái)并放入這個(gè)容器中。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1