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

正文內(nèi)容

軟件設(shè)計(jì)zhousu第6章體系結(jié)構(gòu)的模式與結(jié)構(gòu)(編輯修改稿)

2024-07-13 20:02 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 現(xiàn)虛擬機(jī)。(在其他分層系統(tǒng)中,層次可能只是部分透明的。)連接件通過協(xié)議來定義,而協(xié)議規(guī)定了層次之間交互的方式,還限制了相鄰層間的交互。 分層系統(tǒng) ? 這種體系結(jié)構(gòu)模式最著名的例子就是分層通信協(xié)議。在這個(gè)應(yīng)用中,在某種抽象程度上,每一層向其他層提供通訊基礎(chǔ)。較低層定義較低層的交互,最底層通常通過硬件連接來定義。其他的應(yīng)用領(lǐng)域包括數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)。 分層系統(tǒng) ? 分層的方法支持系統(tǒng)的增量式開發(fā)。如一個(gè)層被開發(fā)完,該層提供的服務(wù)就可以被用戶使用了。這個(gè)體系結(jié)構(gòu)還是可改變的和可移植的。如果一層的接口被保留下來,這個(gè)層就能被另外的一個(gè)對(duì)等層替換。當(dāng)一層的接口改變或增加了新設(shè)施的時(shí)候,只有毗鄰的層受影響。因?yàn)榉謱酉到y(tǒng)的抽象機(jī)依賴的是內(nèi)層中的抽象機(jī),因此,轉(zhuǎn)換到其他機(jī)器上實(shí)現(xiàn)是比較容易的,此時(shí)只有內(nèi)部與具體機(jī)器相關(guān)的層需要重新實(shí)現(xiàn)以適應(yīng)不同的操作系統(tǒng)或數(shù)據(jù)庫。 分層系統(tǒng) ? 圖 67是一個(gè)分為 4層的體系結(jié)構(gòu)的例子。最底層包括了系統(tǒng)支持軟件,比較典型的是數(shù)據(jù)庫和操作系統(tǒng)支持。再上一層是應(yīng)用程序?qū)?,包括與應(yīng)用功能相關(guān)的組件、可以被其他應(yīng)用組件利用的實(shí)用工具組件等。第三層與用戶界面管理相關(guān),并提供用戶的身份驗(yàn)證和授權(quán)。最上層提供用戶界面設(shè)施。當(dāng)然,分層的數(shù)量是隨意的。圖 67中的任何一層都可以分為兩層或更多層。 圖 67 通用分層體系結(jié)構(gòu) 系 統(tǒng) 支 持 ( 操 作 系 統(tǒng) 、 數(shù) 據(jù) 庫 等 )核 心 業(yè) 務(wù) 邏 輯 / 應(yīng) 用 領(lǐng) 域系 統(tǒng) 實(shí) 用 程 序用 戶 界 面 管 理身 份 驗(yàn) 證 和 授 權(quán)用 戶 界 面 分層系統(tǒng) ? 圖 68是分層體系結(jié)構(gòu)模式應(yīng)用于一個(gè)叫做 LIBSYS的圖書館系統(tǒng)的示例,能夠控制對(duì)一組大學(xué)圖書館中版權(quán)資料的電子訪問。這個(gè)系統(tǒng)有 5層,最底層是各個(gè)圖書館中獨(dú)立的數(shù)據(jù)庫。 圖 68 LIBSYS系統(tǒng)的體系結(jié)構(gòu) 圖 書 館 索 引 分 布 式 文 檔 版 權(quán) 記 賬 搜 索 恢 復(fù) 管 理 器 L I B S Y S 表 單 和 查 詢 打 印 系 統(tǒng) 登 錄 管 理 器 管 理 器W e b 瀏 覽 器 界 面數(shù) 據(jù)庫 1數(shù) 據(jù)庫 2數(shù) 據(jù)庫 3數(shù) 據(jù)庫 4數(shù) 據(jù)庫 n. . . 分層系統(tǒng) ? 分層系統(tǒng)有許多理想的性質(zhì)。首先,它支持基于逐級(jí)抽象的系統(tǒng)設(shè)計(jì)。這就允許設(shè)計(jì)者將一個(gè)復(fù)雜的問題分解成一系列遞增的步驟。第二,它支持?jǐn)U展。和管線模式相比,由于分層系統(tǒng)每一層最多和上下兩層交互,對(duì)于任意一層的功能的改變最多只影響其他兩層。第三,它支持重用。像抽象數(shù)據(jù)類型一樣,假如能夠保證為相鄰的層提供一致的接口,它允許系統(tǒng)中同一層的不同實(shí)現(xiàn)相互交換使用。這使得定義標(biāo)準(zhǔn)層接口成為可能,在此接口上可建立不同實(shí)現(xiàn)。(最好的例子是 ISO的 OSI模型和 X Window System協(xié)議。) 分層系統(tǒng) ? 但是分層系統(tǒng)也有缺點(diǎn),并不是所有的系統(tǒng)都容易用這種模式來構(gòu)建。而且即使一個(gè)系統(tǒng)能夠從邏輯上被構(gòu)建成層次結(jié)構(gòu),出于對(duì)性能的考慮,也需要將邏輯上高層次的功能和相對(duì)低層次的實(shí)現(xiàn)結(jié)合起來。另外,定義一個(gè)合適的抽象層次可能會(huì)非常困難。特別是對(duì)于標(biāo)準(zhǔn)化的層次模型來說,尤其如此。比如,實(shí)際的通信協(xié)議體就很難映射到OSI框架中,因?yàn)槠渲性S多協(xié)議跨多個(gè)層。 知識(shí)庫(容器) ? 知識(shí)庫( Repositories)模式又稱容器( Repository)模式(見表 64),是以數(shù)據(jù)為中心的體系結(jié)構(gòu)。 表 64 容器模式 圖 69 以數(shù)據(jù)為中心的體系結(jié)構(gòu) 數(shù) 據(jù) 存 儲(chǔ)( 中 心 存 儲(chǔ) 庫 或 黑 板 )客 戶 軟 件 客 戶 軟 件客 戶 軟 件客 戶 軟 件客 戶 軟 件客 戶 軟 件客 戶 軟 件 客 戶 軟 件 知識(shí)庫(容器) ? 數(shù)據(jù)存儲(chǔ)(如文件或數(shù)據(jù)庫)駐留在這種體系結(jié)構(gòu)的中心,其他構(gòu)件會(huì)經(jīng)常訪問該數(shù)據(jù)存儲(chǔ),并對(duì)存儲(chǔ)中的數(shù)據(jù)進(jìn)行更新、增加、刪除或者修改。圖 69描述了一種典型的以數(shù)據(jù)為中心的體系結(jié)構(gòu)風(fēng)格,其中,客戶軟件訪問中心存儲(chǔ)庫。在某些情況下,數(shù)據(jù)存儲(chǔ)庫是被動(dòng)的,也就是說,客戶軟件獨(dú)立于數(shù)據(jù)的任何變化或其他客戶軟件的動(dòng)作而訪問數(shù)據(jù)。該方法的一個(gè)變種是將中心存儲(chǔ)庫變換成“黑板”,當(dāng)客戶感興趣的數(shù)據(jù)發(fā)生變化時(shí),它將通知客戶軟件。 知識(shí)庫(容器) ? 大多數(shù)使用大量數(shù)據(jù)的系統(tǒng)都是圍繞共享數(shù)據(jù)庫或容器來組織的。因此,這個(gè)模型適合于數(shù)據(jù)是由一個(gè)組件產(chǎn)生而由其他組件使用的倩形。這種類型的系統(tǒng)例子包括指揮和控制系統(tǒng)、管理信息系統(tǒng)、 CAD系統(tǒng)和軟件的交互開發(fā)環(huán)境等。 ? 圖 610說明了一個(gè)可能會(huì)用到容器的情形。該圖顯示了一個(gè)包含不同工具來支持模型驅(qū)動(dòng)開發(fā)的 IDE系統(tǒng)。在這個(gè)例子中,容器或許就是一個(gè)能跟蹤軟件變更并允許回滾到先前版本的版本控制環(huán)境。 圖 610 IDE系統(tǒng)的容器體系結(jié)構(gòu) U M L編 輯 器代 碼生 成 器設(shè) 計(jì)翻 譯 器J a v a編 輯 器P y t h o n編 輯 器設(shè) 計(jì) 分 析 器 報(bào) 告 生 成 器項(xiàng) 目 容 器 知識(shí)庫(容器) ? 把所有適合使用容器的工具組織起來是共享大量數(shù)據(jù)的一種高效方式。這就不需要顯式地把數(shù)據(jù)從一個(gè)組件傳送到另一個(gè)組件。然而,組件一定要圍繞一個(gè)約定好了的容器數(shù)據(jù)模型運(yùn)行。這不可避免地要在每個(gè)工具的特定需求之間做出妥協(xié)。若一個(gè)新組件的數(shù)據(jù)模型與該模型有沖突,那么要想將它集成到該系統(tǒng)中來就可能很困難。實(shí)際上,將容器分布到多臺(tái)機(jī)器上可能是困難的。雖然從邏輯上講將集中式容器分布到不同的機(jī)器上是可能的,但這樣做會(huì)引起數(shù)據(jù)冗余和不一致性的問題。 知識(shí)庫(容器) ? 如圖 610中所示,容器是被動(dòng)的,對(duì)它的控制是組件的職責(zé)。另外一種方法源于人工智能,即使用所謂的“黑板”模型,當(dāng)有特別的數(shù)據(jù)可用時(shí),就會(huì)主動(dòng)通報(bào)組件。在容器數(shù)據(jù)的結(jié)構(gòu)組織得不是很好的時(shí)候,這個(gè)方法比較合適。到底激活哪個(gè)工具要視對(duì)數(shù)據(jù)的分析結(jié)果而定。 知識(shí)庫(容器) ? 以數(shù)據(jù)為中心的體系結(jié)構(gòu)促進(jìn)了可集成性,也就是說,現(xiàn)有的構(gòu)件可以被修改,而且新的客戶構(gòu)件可以加入到體系結(jié)構(gòu)之中,而無需考慮其他的客戶(因?yàn)榭蛻魳?gòu)件是獨(dú)立運(yùn)作的)。另外,數(shù)據(jù)可以在客戶間通過“黑板”機(jī)制傳送(即黑板構(gòu)件負(fù)責(zé)協(xié)調(diào)信息在客戶間的傳遞),客戶構(gòu)件獨(dú)立地執(zhí)行過程。 知識(shí)庫(容器) ? 通常知識(shí)庫模式中有兩個(gè)截然不同的功能構(gòu)件:一個(gè)是中央數(shù)據(jù)結(jié)構(gòu)構(gòu)件,代表系統(tǒng)當(dāng)前狀態(tài);另一個(gè)是一些相對(duì)獨(dú)立的構(gòu)件的集合,這些構(gòu)件對(duì)中央數(shù)據(jù)存儲(chǔ)進(jìn)行操作。在不同的系統(tǒng)中,知識(shí)庫和外部構(gòu)件集合之間的交互方式存在很大的差異。 ? 控制方式的選擇將知識(shí)庫風(fēng)格分成了兩種主要的子類。如果由輸入流中事務(wù)觸發(fā)系統(tǒng)相應(yīng)的進(jìn)程執(zhí)行,這是傳統(tǒng)的數(shù)據(jù)庫型知識(shí)庫。另一方面,如果由中心數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)系統(tǒng)相應(yīng)的進(jìn)程執(zhí)行,稱為黑板知識(shí)庫。黑板體系結(jié)構(gòu)的示意圖如圖 611所示。 圖 611 黑板體系結(jié)構(gòu) 知 識(shí) 源 4知 識(shí) 源 3知 識(shí) 源 2知 識(shí) 源 1知 識(shí) 源 5知 識(shí) 源 6知 識(shí) 源 8黑 板( 共 享 數(shù) 據(jù) )知 識(shí) 源 7直 接 存 取計(jì) 算存 儲(chǔ) 器 知識(shí)庫(容器) ? 黑板模型通常由三個(gè)部分組成: – l)知識(shí)源:分離的,獨(dú)立的,依賴于應(yīng)用的知識(shí)包。知識(shí)源僅通過黑板進(jìn)行交互。 – 2)黑板數(shù)據(jù)結(jié)構(gòu):?jiǎn)栴}求解狀態(tài)數(shù)據(jù),被組織成依賴于應(yīng)用的層次結(jié)構(gòu)。知識(shí)源不斷修改黑板中的數(shù)據(jù),直到問題得解。 – 3)控制器:完全由黑板的狀態(tài)驅(qū)動(dòng)。一旦黑板的狀態(tài)使某個(gè)知識(shí)源可用,知識(shí)源就會(huì)適時(shí)地響應(yīng)。 ? 圖 611并沒有顯式地表示出控制構(gòu)件,因?yàn)橹R(shí)源的調(diào)用是通過黑板的狀態(tài)激活的。因此實(shí)際的控制器或者它的實(shí)現(xiàn)可以在知識(shí)源中,也可以在黑板中,獨(dú)立的模塊中或者在它們的組合中。 知識(shí)庫(容器) ? 黑板系統(tǒng)通常用在復(fù)雜信號(hào)處理解釋上,比如語音和模式識(shí)別,也被用在其他的系統(tǒng)中,比如通過松散連接代理共享數(shù)據(jù)。 客戶機(jī) 服務(wù)器 ? 容器模式與系統(tǒng)的靜態(tài)結(jié)構(gòu)有關(guān),但是不能展現(xiàn)出它的運(yùn)行組織。表 65描述了客戶機(jī) 服務(wù)器模式。 表 65 客戶機(jī) 服務(wù)器模式 圖 612 電影資料庫的客戶機(jī) 服務(wù)器體系結(jié)構(gòu) 目 錄 服 務(wù) 器圖 書 館 目 錄W e b 服 務(wù) 器電 影 和 圖 片信 息視 頻 服 務(wù) 器電 影 商 店圖 片 服 務(wù) 器圖 片 商 店網(wǎng) 絡(luò)客 戶 1 客 戶 2 客 戶 3 客 戶 4 客戶機(jī) 服務(wù)器 ? 一個(gè)采用客戶機(jī) 服務(wù)器模式的系統(tǒng)是由一個(gè)服務(wù)集合和相關(guān)的服務(wù)器以及訪問和使用這些服務(wù)的客戶機(jī)組織起來的。這個(gè)模型的主要組成部分是: – ( 1)一組給其他組件提供服務(wù)的服務(wù)器。包括:打印服務(wù)器,提供打印服務(wù);文件服務(wù)器,提供文檔管理服務(wù);編譯服務(wù)器,負(fù)責(zé)對(duì)程序的編譯服務(wù)。 – ( 2)一組向服務(wù)器請(qǐng)求服務(wù)的客戶機(jī)。一個(gè)客戶機(jī)程序通常有多個(gè)實(shí)例,可以在不同的計(jì)算機(jī)上并發(fā)執(zhí)行。 – ( 3)一個(gè)連接客戶機(jī)和服務(wù)器的網(wǎng)絡(luò)。絕大多數(shù)客戶機(jī) 服務(wù)器系統(tǒng)實(shí)現(xiàn)為分布式系統(tǒng),通過互聯(lián)網(wǎng)的協(xié)議連接在一起。 客戶機(jī) 服務(wù)器 ? 客戶機(jī) 服務(wù)器體系結(jié)構(gòu)經(jīng)常被認(rèn)為是分布式系統(tǒng)體系結(jié)構(gòu),但是運(yùn)行在分散服務(wù)器上的獨(dú)立服務(wù)的邏輯模型可以在單個(gè)計(jì)算機(jī)上實(shí)現(xiàn)。此外,更重要的好處是分離性和獨(dú)立性。服務(wù)和服務(wù)器可以改變而不會(huì)影響系統(tǒng)其他部分。 客戶機(jī) 服務(wù)器 ? 客戶機(jī)必須知道可用的服務(wù)器的名字及它們所提供的服務(wù)。反之,服務(wù)器沒有必要知道客戶機(jī)的身份以及到底有多少客戶機(jī)在訪問它們的服務(wù)。客戶機(jī)通過遠(yuǎn)程過程調(diào)用來獲取服務(wù)器提供的服務(wù),遠(yuǎn)程過程調(diào)用使用一個(gè)請(qǐng)求 回答協(xié)議,比如在 WWW上使用的 協(xié)議。本質(zhì)上,客戶機(jī)向服務(wù)器提出請(qǐng)求,然后等待直到它收到回答為止。 客戶機(jī) 服務(wù)器 ? 圖 612所示是一個(gè)基于 Web的提供電影和圖片庫的多用戶系統(tǒng)。在這個(gè)系統(tǒng)中,有管理和放映不同類型媒體的多個(gè)服務(wù)器。視頻信號(hào)需要快速、同步地傳輸,但分辨率相對(duì)較低。它們是以壓縮的形式存儲(chǔ)的,所以視頻服務(wù)器需要對(duì)于各種不同的格式處理視頻壓縮和解壓縮。靜態(tài)圖片必須保持高分辨率,所以將它們單獨(dú)放在一個(gè)服務(wù)器上是比較妥當(dāng)?shù)摹? 客戶機(jī) 服務(wù)器 ? 要求目錄能夠支持各種查詢,能與包含電影和視頻片段的Web信息系統(tǒng)鏈接,并能與支持發(fā)售圖片、電影和視頻片段的電子商務(wù)系統(tǒng)保持鏈接??蛻魴C(jī)程序只是對(duì)訪問這些服務(wù)提供一個(gè)集成的用戶界面(用 Web瀏覽器構(gòu)造)。 數(shù)據(jù)抽象和面向?qū)ο蠼M織 ? 在基于數(shù)據(jù)抽象和面向?qū)ο蠼M織結(jié)構(gòu)( Data Abstraction and ObjectOriented Organization)模式中,數(shù)據(jù)表示和相關(guān)的基本操作封裝在抽象數(shù)據(jù)類型或?qū)ο笾?。這種模式的構(gòu)件是對(duì)象(封裝了數(shù)據(jù)和必須用于控制該數(shù)據(jù)的操作),或者也可稱為抽象數(shù)據(jù)類型的實(shí)例,構(gòu)件間通過信息傳遞進(jìn)行通信與合作。這種模式有兩個(gè)重要的方面: – ① 對(duì)象維護(hù)自身表示的完整性(通常是通過保持其表示上的一些不變式來實(shí)現(xiàn)的), – ② 這種表示對(duì)其他對(duì)象是隱藏的。 數(shù)據(jù)抽象和面向?qū)ο蠼M織 ? 在這種描述中并沒有提及繼承。雖然對(duì)于系
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1