a级 久久,99里面有精品,亚洲av一级免费在线观看,成人免费中文字幕

軟件建筑講座8.ppt

《軟件體系結(jié)構(gòu)第8講.ppt》由會員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)第8講.ppt(39頁珍藏版)》請?jiān)趗sdt平臺_usdt官網(wǎng)上搜索。文檔結(jié)構(gòu):文本的數(shù)據(jù)結(jié)構(gòu)安排。所有的編輯、格式安排、顯示和文本分析都涉及到這樣的文檔結(jié)構(gòu)。格式化:Lexi是如何來創(chuàng)建數(shù)據(jù)結(jié)構(gòu)的?希望用戶忽略組合對象與單個(gè)對象的不同,用戶將統(tǒng)一地使用組合結(jié)構(gòu)中的所有對象,Lexi的文檔結(jié)構(gòu)與組合(...

《軟件 8.ppt》為會員分享,可在線閱讀。更多相關(guān)《軟件架構(gòu)講座8.ppt(39頁珍藏版)》,請?jiān)L問usdt平臺_搜索usdt官網(wǎng)。

1、1、軟件架構(gòu)第8講:設(shè)計(jì)模式(1、江河、2、內(nèi)容介紹、設(shè)計(jì)模式概念設(shè)計(jì)模式說明案例:文檔編輯器Lexi Lexi的文檔結(jié)構(gòu)與組合()模式,3,設(shè)計(jì)模式概念,:“每個(gè)模式都描述了我們周圍反復(fù)出現(xiàn)的問題,以及解決該問題的核心。這樣,您可以一次又一次地使用該解決方案,而不必做重復(fù)的工作.” : - 軟件:設(shè)計(jì)模式是“對類和對象的描述,這些類和對象之間相互通信,用于解決特定場景中的一般設(shè)計(jì)問題,4、設(shè)計(jì)模式概念,設(shè)計(jì)模式的四個(gè)基本要素: 模式名稱(Name):助記名,使用一兩個(gè)詞

2、 來描述模式的問題、解決方案和效果。():描述何時(shí)應(yīng)該使用模式。() 描述了設(shè)計(jì)的組件,它們?nèi)绾蜗嗷リP(guān)聯(lián),以及它們各自的職責(zé)和協(xié)同工作的方式。() 描述了模式應(yīng)用的效果和使用模式的權(quán)衡,5、設(shè)計(jì)模式概念、6、設(shè)計(jì)模式描述、模式名稱和分類模式名稱簡潔地描述了模式的本質(zhì)。模式可以分為創(chuàng)造型、結(jié)構(gòu)型和行為型。 是一個(gè)簡單的陳述,它回答了以下問題:設(shè)計(jì)模式做什么?它的原理和意圖是什么?它解決了什么具體的設(shè)計(jì)問題?Alias 的其他名稱,7,設(shè)計(jì)模式的描述,

3、問題的具體上下文。此場景將幫助您理解對以下模式的更抽象描述。適用性 什么時(shí)候可以使用這種模式?這種模式可以用來改進(jìn)哪些糟糕的設(shè)計(jì)?您如何識別這些情況?結(jié)構(gòu)圖形化地描述了模式中的類,解釋了請求順序和對象之間的協(xié)作關(guān)系, 8、設(shè)計(jì)模式的描述,參與者設(shè)計(jì)模式中的各種對象、類及其各自的職責(zé)。協(xié)作模型中的參與者如何協(xié)作以履行其職責(zé)。效果模式如何支持其目標(biāo)?使用模式的影響和需要做出的權(quán)衡?系統(tǒng)結(jié)構(gòu)的哪些方面可以獨(dú)立改變,9、設(shè)計(jì)模式的描述,實(shí)現(xiàn)實(shí)現(xiàn)模式時(shí)要知道的一些技巧,要避免的技術(shù)點(diǎn)和陷阱,以及是否存在一些特定于實(shí)現(xiàn)語言的問題。在 C++/ 中實(shí)現(xiàn)此模式的代碼示例代碼

4、代碼片段。已知在實(shí)際應(yīng)用系統(tǒng)中可以找到這種模式的示例。相關(guān)模式,10,案例研究:文檔編輯器 Lexi,11,案例研究:文檔編輯器 Lexi,Lexi 設(shè)計(jì)文檔結(jié)構(gòu)中的 7 個(gè)問題:文本的數(shù)據(jù)結(jié)構(gòu)排列。所有的編輯、格式化、顯示和文本分析都涉及到這樣的文檔結(jié)構(gòu)。格式化:Lexi 如何創(chuàng)建數(shù)據(jù)結(jié)構(gòu)?哪些對象負(fù)責(zé)不同的格式化策略?裝飾用戶界面:Lexi 的用戶界面包括滾動條、邊框和陰影來裝飾文檔界面 可以進(jìn)行重大修改以適應(yīng)不同的視覺標(biāo)準(zhǔn)。例如,Motif 支持多個(gè)窗口系統(tǒng):不同的視覺標(biāo)準(zhǔn)通常在不同的

5、在窗口系統(tǒng)上實(shí)現(xiàn)。Lexi 應(yīng)該被設(shè)計(jì)成盡可能獨(dú)立于窗口系統(tǒng)。用戶操作:用戶通過不同的界面操作 Lexi,包括按鈕和下拉菜單。拼寫檢查和斷字:Lexi 如何支持拼寫檢查和確定斷字的斷字點(diǎn)等分析操作?當(dāng)我們要添加新的分析操作時(shí),如何盡量少修改相關(guān)類,13、Lexi的文檔結(jié)構(gòu)和組合()模式,Lexi其實(shí)考慮的是如何排列字符、線段、多邊形、圖像的基本元素, 等等。 。在使用 Lexi 的過程中,用戶想要操作的不是單個(gè)字符、行、列、表、頁等。行、列、表、頁等都是子結(jié)構(gòu),它又可以包含更小粒度的子結(jié)構(gòu)。字符、線段等可視為沒有子結(jié)構(gòu)的原子結(jié)構(gòu),14

6、, Lexi的文檔結(jié)構(gòu)和組合()模式, 字符, 圖片, 行, 列, 15, Lexi的文檔結(jié)構(gòu)和組合()模式, 字符和線段等原子結(jié)構(gòu)與一般子結(jié)構(gòu)的關(guān)系, 16字符、線段等原子結(jié)構(gòu)的動作與一般子結(jié)構(gòu)的動作基本相同:Draw 在屏幕上繪制,判斷當(dāng)前光標(biāo)是否在自身上。繼承自基類,Lexi的文檔結(jié)構(gòu)和組合()方式,17、圖元,18、字符、線段等原子結(jié)構(gòu)和通用子結(jié)構(gòu)都繼承自圖元。其中,row、等類包含大量的成員變量,這些成員變量都是原語的實(shí)例。

7、這種通用子結(jié)構(gòu)的關(guān)系其實(shí)是()模式,Lexi的文檔結(jié)構(gòu)和()模式,19,()模式打算把對象組合成一個(gè)樹形結(jié)構(gòu)來表示“part-whole”層次結(jié)構(gòu). Lexi的文檔結(jié)構(gòu)和()模式,20、()模式動機(jī)在圖形編輯器和圖形捕獲系統(tǒng)等應(yīng)用程序中,用戶可以使用簡單的組件創(chuàng)建復(fù)雜的圖表。用戶可以將多個(gè)簡單的組件組合成更大的組件,這些組件又可以組合成更大的組件。一個(gè)簡單的實(shí)現(xiàn)方法是用不同的類定義不同粒度的組件,比如word

8、符號、線條等簡單的原語定義了一些類,將行和列的其他類定義為簡單原語的容器類。但是用戶可能會認(rèn)為這些容器類在使用過程中的行為與簡單的原始類相同!雖然該模式試圖解決這樣一個(gè)問題,但它描述了如何使用遞歸組合,以便用戶不必區(qū)分這些類,如 Lexi 的文檔結(jié)構(gòu)和 () 模式所示,21,抽象基類必須是能夠反映原子基元的特征,而基元又應(yīng)該能夠反映一般子結(jié)構(gòu)的特征,22、23、

9、) 模式,24,Lexi的文檔結(jié)構(gòu)和()模式,()模式結(jié)構(gòu),25,Lexi的文檔結(jié)構(gòu)和()模式,26,()模式,()是中的對象聲明接口在適當(dāng)?shù)那闆r下實(shí)現(xiàn)了所有類共有的接口的默認(rèn)行為。聲明一個(gè)用于訪問和管理子組件的接口。在遞歸結(jié)構(gòu)中定義一個(gè)用于訪問父組件的接口。在Leaf(, Line, Text, etc.)表示組合中的葉子節(jié)點(diǎn)對象的情況下實(shí)現(xiàn)它,葉子節(jié)點(diǎn)在組合中沒有子節(jié)點(diǎn)定義原始對象Comp的行為

10、osite() 定義那些具有子組件的組件的行為。子組件在接口中實(shí)現(xiàn)與子組件相關(guān)的操作。通過接口操作復(fù)合組件的對象,Lexi 的文檔結(jié)構(gòu)使用() 模式,27,() 模式與用戶協(xié)作軟件體系結(jié)構(gòu)第二版下載,使用類接口與復(fù)合結(jié)構(gòu)中的對象進(jìn)行交互。如果接收者是葉節(jié)點(diǎn),則直接處理請求。如果接收者是,那么它通常將請求發(fā)送到其子組件,可能在轉(zhuǎn)發(fā)請求之前/之后執(zhí)行一些輔助操作。Lexi的文檔結(jié)構(gòu)與()模式有關(guān),28、()模式效果定義了包含基本對

11、對象和組合對象的類層次結(jié)構(gòu) 基本對象可以組合成更復(fù)雜的組合對象,這些組合對象又可以組合。簡化的客戶端代碼 客戶端可以一致地使用復(fù)合結(jié)構(gòu)和單個(gè)對象??蛻敉ǔ2恢酪膊魂P(guān)心他們是在處理葉節(jié)點(diǎn)還是復(fù)合組件。這簡化了客戶端代碼,因?yàn)椴恍枰谀切┒x組合的類中編寫充滿選擇語句的函數(shù)。更容易添加新類型的組件。新定義的或 Leaf 子類自動與現(xiàn)有結(jié)構(gòu)和客戶端代碼一起工作,客戶端程序不需要因新類而更改。為了讓你的設(shè)計(jì)更通用,Lexi 的文檔結(jié)構(gòu)和 () 模式,29,

12、使用共享組件最大化接口聲明管理子組件的操作應(yīng)該實(shí)現(xiàn)列表子組件排序使用緩存提高性能誰應(yīng)該刪除存儲組件哪種數(shù)據(jù)結(jié)構(gòu)最好使用,Lexi的文檔和()模式,30,代碼示例 計(jì)算機(jī)和立體聲音響等設(shè)備通常組裝成部分整體層次結(jié)構(gòu)或容器層次結(jié)構(gòu)。例如,機(jī)箱可能包含驅(qū)動器和面板,總線可能包含多個(gè)插件,機(jī)柜可能包含機(jī)箱、總線等。這個(gè)結(jié)構(gòu)可以很自然的用一個(gè)模式來模擬軟件體系結(jié)構(gòu)第二版下載,Lexi的文檔結(jié)構(gòu)和()模式,31,代碼示例類是

13、部分-整體層次結(jié)構(gòu)中的所有設(shè)備定義一個(gè)接口。班級 : (); const char* Name() _name; 瓦特功率();(); (); 無效添加(*);空白 (*); * (); : 平等

14、(const char*); : const char* _name;, Lexi的文檔結(jié)構(gòu)和()模式, 32, 代碼示例的子類包括代表磁盤驅(qū)動器、集成電路和交換機(jī)的Leaf類: class : : (const char*); (); 瓦特功率();(); ();,樂

15、xi的文檔結(jié)構(gòu)和()模式,33、代碼示例是一個(gè)包含其他設(shè)備的基類,也是一個(gè)子類。班級 : : (); 瓦特功率();(); (); 無效添加(*);無效(等式

16、*); * (); : (const char*); :List ;, Lexi 的文檔結(jié)構(gòu)和 () 模式, 34, 代碼示例的默認(rèn)實(shí)現(xiàn)用于累計(jì)子設(shè)備的實(shí)際價(jià)格。: () * i = (); 總計(jì) = 0;對于 (i-First();

17、!i-(); i-Next() 總計(jì) += i-()-(); 一世; total;, Lexi 的文檔結(jié)構(gòu)和() 模式, 35, Code 表示為的子類。類: : (const char*); (); 瓦特功率();(); v

18、();,Lexi的文檔結(jié)構(gòu)和()模式,36,代碼示例采用類似的方式來定義和Bus。這給出了組裝個(gè)人電腦所需的所有設(shè)備,Lexi 的文檔結(jié)構(gòu) 與 () 模式一樣,37 的代碼示例采用了類似的方法來定義和 Bus。這為您提供了組裝個(gè)人計(jì)算機(jī)所需的所有設(shè)備。* = 新的(PC);* = 新的(PC);-

19、添加();總線* 總線 = 新總線(MCA 總線);bus-Add(new Card(16Mbs Token Ring); -Add(bus); -Add(new (3.5in ); cout () endl, Lexi 的文檔結(jié)構(gòu)和 () 模式, 38, 已知應(yīng)用-相關(guān)模式 常與模式一起使用,讓你共享組件,但不再引用其父組件,可用于遍歷本應(yīng)分布在和 Leaf 類中的本地化操作和行為,Lexi 的文檔結(jié)構(gòu)和 () 模式, 39,謝謝

發(fā)表評論

北岛玲精品一区二区三| 伊人亚洲无码视频在线| 欧美日韩综合Aⅴ| 怡红院视频32| 亚洲男女一区二区三区| 日本色图 亚洲| 96热国产在线观看| 成人 黄色 看| 国内精品2020情侣视频| 日韩人妻午夜乱子伦视频| 久久与久久最新| 日本久久中字| 91c超碰蜜情园| 岳把我用嘴含进满足我视频| 亚洲日本欧美日韩高观看| 日韩欧美人乱伦懂色| 欧美一本二本道| 精品欧洲AV无码一区二区| 国产AV无码专区久久AV| 真人无码在线免费观看| 精品国产AV色一区二区| 色国精品网站| 免费看黄国产精品| 日本伊人天堂| 久久 无码 穴| 狠狠色狠狠干99| 99九九视频这里只有精品| 欧美日韩一区二区三区免费| 99色视频| 天美传媒麻豆0073| 一及片一区| 玖玖伊人| 大肉大捧一进一出好爽视频百度| 亚洲国产精品无码在线| 国产欧美久久久精品不卡| 国产精品久久毛片| 宝贝伊人资源| 欧美顶级自慰精品| 大香蕉操逼操老女人逼| 一色屋精品亚洲香蕉网站| 日韩AV一区二区在线观看|