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

正文內(nèi)容

軟件體系結(jié)構(gòu)與設(shè)計(jì)模式概述-預(yù)覽頁

2025-03-14 17:05 上一頁面

下一頁面
 

【正文】 層次結(jié)構(gòu)的基本結(jié)構(gòu)如下圖所示。由于每一層最多只影響 兩層,同時(shí)只要給相鄰層提供相同的接口,允許每層用不同 的方法實(shí)現(xiàn),同樣為軟件復(fù)用提供了強(qiáng)大的支持。只要提供的服務(wù)接口定義不變,同一層的 不同實(shí)現(xiàn)可以交換使用。 典型的體系結(jié)構(gòu)風(fēng)格 數(shù)據(jù)庫系統(tǒng) 、 超文本系統(tǒng) 和 黑板系統(tǒng) 都屬于倉庫風(fēng) 格 。黑板系統(tǒng)的組成如下圖所示。這些體系結(jié)構(gòu)模型稱為 領(lǐng)域相關(guān)的體系結(jié)構(gòu) 。 特定領(lǐng)域的軟件體系結(jié)構(gòu) ? 類屬模型的一個(gè)最著名的例子是 編譯器模型 ,由這個(gè)模型已開發(fā)出了數(shù)以千計(jì)的編譯器。 特定領(lǐng)域的軟件體系結(jié)構(gòu) 以上兩種不同類型的模型之間并不存在嚴(yán)格的區(qū)別,也可以將類屬模型視為參考模型。 ? 20世紀(jì) 80年代以后,集中式結(jié)構(gòu)逐漸被以 PC為主的微機(jī)網(wǎng)絡(luò)所取代。 (2) 經(jīng)濟(jì)性。 分布式系統(tǒng)的一個(gè)最簡(jiǎn)單的模型是多處理器系統(tǒng),系統(tǒng)由 許多進(jìn)程組成,這些進(jìn)程可以在不同的處理器上并行運(yùn)行, 可以極大地提高系統(tǒng)的性能。 分布式系統(tǒng)結(jié)構(gòu) ? 多處理器體系結(jié)構(gòu) 客戶機(jī) /服務(wù)器 ( client/server, C/S) 體系結(jié)構(gòu)是基于 資源不對(duì)等 , 且為實(shí)現(xiàn)共享而提出來的 , 由 服務(wù)器 、 客戶 機(jī) 和 網(wǎng)絡(luò) 三部分組成 。 典型的兩層 C/S體系結(jié)構(gòu)如下圖所示 。 ? 目前個(gè)人計(jì)算機(jī)所具有的處理能力在瘦客戶機(jī)模型中用不上。 胖客戶機(jī)模型能夠利用客戶機(jī)的處理能力,比瘦客戶機(jī) 模型在分布處理上更有效。 ? 軟件維護(hù)和升級(jí)困難。 分布式系統(tǒng)結(jié)構(gòu) 三層 C/S體系結(jié)構(gòu)將整個(gè)系統(tǒng)分成 表示層 、 應(yīng)用邏輯層 和 數(shù)據(jù)層 三個(gè)部分,其數(shù)據(jù)處理流程如下圖所示。通常在功能層中包含有確認(rèn)用戶對(duì) 應(yīng)用和數(shù)據(jù)庫存取權(quán)限的功能以及記錄系統(tǒng)處理日志的功 能。 分布式系統(tǒng)結(jié)構(gòu) B/S體系結(jié)構(gòu)主要是利用不斷成熟的 .瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語言,用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜的專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本。 分布式系統(tǒng)結(jié)構(gòu) 與 C/S體系結(jié)構(gòu)相比, B/S體系結(jié)構(gòu)也有許多不足之處。 分布式系統(tǒng)結(jié)構(gòu) 在客戶機(jī) /服務(wù)器模型中,客戶機(jī)和服務(wù)器的地位是不同 的。 分布式系統(tǒng)結(jié)構(gòu) 分布式對(duì)象技術(shù)的應(yīng)用目的 是為了降低主服務(wù)器的負(fù)荷、 共享網(wǎng)絡(luò)資源、平衡網(wǎng)絡(luò)中計(jì)算機(jī)業(yè)務(wù)處理的分配,提高計(jì) 算機(jī)系統(tǒng)協(xié)同處理的能力,從而使應(yīng)用的實(shí)現(xiàn)更為靈活。 ? 構(gòu)件之間并不存在客戶機(jī)與服務(wù)器的界限,接受服務(wù)者扮演客戶機(jī)的角色,提供服務(wù)者就是服務(wù)器。代理者負(fù)責(zé)協(xié)調(diào)通信, 諸如轉(zhuǎn)發(fā)請(qǐng)求以及傳遞結(jié)果和異常等。 ( 2) 公共設(shè)施 :水平級(jí)的服務(wù),定義應(yīng)用程序級(jí)服務(wù)。 分布式系統(tǒng)結(jié)構(gòu) MVC框架即模型 — 視圖 — 控制器( modelviewcontroller)框架,它強(qiáng)調(diào)將用戶輸入、數(shù)據(jù)模型和數(shù)據(jù)表示的方式分開設(shè)計(jì),一個(gè)交互式應(yīng)用系統(tǒng)由 模型 、 視圖 和 控制器 3個(gè)部件組成,分別對(duì)應(yīng)于內(nèi)部數(shù)據(jù)、數(shù)據(jù)表示和輸入 /輸出控制部分。視圖對(duì)象可以包含子視 圖,子視圖用于顯示模型的不同部分。 體系結(jié)構(gòu)框架 體系結(jié)構(gòu)框架 MVC的處理過程為 :首先控制器接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來進(jìn)行處理;然后模型用業(yè)務(wù)邏輯來處理用戶的請(qǐng)求并返回?cái)?shù)據(jù);最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。該層可以是各種類型的客戶端。 從上圖可看出, J2EE模型是 分層結(jié)構(gòu) ,中間的 3層(表示層,業(yè)務(wù)層,集成層)包含應(yīng)用程序構(gòu)件,客戶層和資源層處于應(yīng)用程序的外圍。 ? 業(yè)務(wù)層: 業(yè)務(wù)層包含表示層中的控制器構(gòu)件沒有實(shí)現(xiàn)的一部分應(yīng)用邏輯。 體系結(jié)構(gòu)框架 1. PCMEF框架 表示 — 控制 — 中介者 — 實(shí)體 — 基礎(chǔ)( presentationcontrolmediatorentityfoundation, PCMEF)是一個(gè)垂直層次的分層體系結(jié)構(gòu)框架。 PCMEF框架中包的依賴性主要是向下依賴性。 ? 領(lǐng)域?qū)?:其實(shí)體包處理控制請(qǐng)求 ,中介者包用于創(chuàng)建一個(gè)協(xié)調(diào)實(shí)體類和基礎(chǔ)類的通信通道。 體系結(jié)構(gòu)框架 PCBMER的核心框架 在上圖中,把層表示為 UML包(子系統(tǒng),層),帶箭頭的 虛線表示依賴關(guān)系。除了用戶輸入外, bean數(shù)據(jù)由實(shí)體對(duì)象(實(shí)體層)創(chuàng)建。 ? 中介者層: 建立了充當(dāng)實(shí)體類和資源類媒介的通信管道。 ? 目前,設(shè)計(jì)模式已經(jīng)被廣泛應(yīng)用于多種領(lǐng)域的軟件設(shè)計(jì)和構(gòu)造中,許多當(dāng)代的先進(jìn)軟件中已大量采用了軟件設(shè)計(jì)模式的概念。 (4) 效果 :描述了模式使用的效果及使用模式應(yīng)當(dāng)權(quán)衡的問題。 抽象工廠 ? 解決方法是:先定義一個(gè)抽象類 WidgetFactory(用斜體字區(qū)分抽象類),這個(gè)類聲明了創(chuàng)建各種基本組件的接口,再逐一替各種基本組件定義相對(duì)應(yīng)的抽象類,如 ScrollBar、 Window等,讓它們的具體子類來真正實(shí)現(xiàn)特定的 GUI標(biāo)準(zhǔn)。 c) 抽象產(chǎn)品類( AbstractProduct):聲明一種產(chǎn)品對(duì)象的接口。 ? ConcreteFactory類的實(shí)例只有一個(gè),專門針對(duì)某種特定的實(shí)現(xiàn)標(biāo)準(zhǔn),建立具體可用的產(chǎn)品對(duì)象。 (2) 思路:例如,通常情況下,用戶可以對(duì)應(yīng)用系統(tǒng)進(jìn)行配置,并將配置信息保存在配置文件中,應(yīng)用系統(tǒng)在啟動(dòng)時(shí)首先將配置文件加載到內(nèi)存中,這些內(nèi)存配置信息應(yīng)該有且僅有一份。 Instance是一個(gè)靜態(tài)成員函數(shù) (5) 協(xié)作:客戶只能通過 Singleton的 Instance() 存取這唯一的實(shí)例。 外觀 (3) 結(jié)構(gòu):外觀模式的結(jié)構(gòu)如圖所示。 (5)協(xié)作:使用 Facade的客戶不用直接訪問子系統(tǒng)對(duì)象。 (2)思路:有時(shí)要將兩個(gè)沒有關(guān)系的類組合在一起使用,一種解決方案是修改各自類的接口,另一種辦法是使用Adapter模式,在兩種接口之間創(chuàng)建一個(gè)混合接口。 適配器 如何讓 TextView的接口轉(zhuǎn)換成為 Shape的接口,有兩種方法: ? 讓 TextShape同時(shí)繼承 Shape的接口和 TextView的服務(wù)(多重繼承); ? 在 TextShape中建立 TextView的實(shí)例,再通過 TextView給出TextShape的接口。類適配器可以通過多繼承方式實(shí)現(xiàn)不同接口之間的相容和轉(zhuǎn)換,如圖所示。 c) 被匹配者( Adaptee):需要被轉(zhuǎn)換匹配的一個(gè)已存在接口。該請(qǐng)求沿著這條鏈傳遞,直到有一個(gè)對(duì)象處理它為止。 如果用戶在 PrintDialog對(duì)話框里“打印”按鈕上按了幫助鍵,幫助信息的順序圖如圖所示。 責(zé)任鏈 (3) 結(jié)構(gòu):責(zé)任鏈模式的結(jié)構(gòu)如圖所示 。 c) 客戶( Client):將處理請(qǐng)求提交給職責(zé)鏈中的ConcreteHandler對(duì)象。 (2) 思路:以 GUI系統(tǒng)的對(duì)話框?yàn)槔瑢?duì)話框中會(huì)布置許多窗口組件,如按鈕、菜單、文字輸入欄等。這些對(duì)象只認(rèn)得中介者,因而可降低交互行為的數(shù)目。 中介者 ? 下圖顯示了加入 FontDialogDirector后的類結(jié)構(gòu)。 c) 同事類( Colleague classes):這些同事類的對(duì)象都了解中介者;一個(gè)同事對(duì)象與另一個(gè)同事對(duì)象之間的通信都需要通過中介者來間接實(shí)現(xiàn)。但這些類也能合作,如圖所示的計(jì)算表和直方圖都是針對(duì)同一數(shù)據(jù)對(duì)象的兩種不同表示方式。另外,提供一個(gè)連接觀察者對(duì)象和解除連接的接口。 d) 具體觀察者( ConcreteObserver):維持一個(gè)對(duì)具體主題對(duì)象的引用;存儲(chǔ)要與主題一致的狀態(tài);實(shí)現(xiàn)觀察者的自我更新接口,確保自己的狀態(tài)與主題的狀態(tài)一致。 演講完畢,謝謝觀看!
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1