第04章結(jié)構(gòu)型模式上_第1頁
第04章結(jié)構(gòu)型模式上_第2頁
第04章結(jié)構(gòu)型模式上_第3頁
第04章結(jié)構(gòu)型模式上_第4頁
第04章結(jié)構(gòu)型模式上_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第4章 結(jié)構(gòu)型模式(上)作者:程細(xì)柱韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院內(nèi)容簡介 本章教學(xué)目標(biāo):了解結(jié)構(gòu)型模式的特點與分類;理解代理模式、適配器模式、橋接模式的定義與特點;掌握代理模式、適配器模式、橋接模式的結(jié)構(gòu)與實現(xiàn);學(xué)會使用這三種設(shè)計模式開發(fā)應(yīng)用程序;明白這三種設(shè)計模式的擴展應(yīng)用。 本章重點內(nèi)容:結(jié)構(gòu)型模式的定義、特點和分類方法;代理模式的特點、結(jié)構(gòu)、應(yīng)用場景與應(yīng)用方法;適配器模式的特點、結(jié)構(gòu)、應(yīng)用場景與應(yīng)用方法;橋接模式的特點、結(jié)構(gòu)、應(yīng)用場景與應(yīng)用方法。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.1 結(jié)構(gòu)型模式概述 結(jié)構(gòu)型模式描述如何結(jié)構(gòu)

2、型模式描述如何將類或?qū)ο蟀茨撤N布局組成更大的結(jié)構(gòu)將類或?qū)ο蟀茨撤N布局組成更大的結(jié)構(gòu)。它。它分為分為類結(jié)構(gòu)型類結(jié)構(gòu)型模式模式和和對象結(jié)構(gòu)型模式對象結(jié)構(gòu)型模式,前者,前者采用繼承機制采用繼承機制來組織接口和類,后者來組織接口和類,后者采用組合或采用組合或聚合聚合來組合對象。由于組合關(guān)系或聚合關(guān)系比繼承關(guān)系耦合度低,滿足來組合對象。由于組合關(guān)系或聚合關(guān)系比繼承關(guān)系耦合度低,滿足“合成合成復(fù)用原則復(fù)用原則”,所以對象結(jié)構(gòu)型模式比類結(jié)構(gòu)型模式具有更大的靈活性,所以對象結(jié)構(gòu)型模式比類結(jié)構(gòu)型模式具有更大的靈活性。 結(jié)構(gòu)型模式分為以下結(jié)構(gòu)型模式分為以下7 7種:種: 代理(代理(proxyproxy)模式)模

3、式:為某對象提供一種代理以控制對該對象的訪問。即:為某對象提供一種代理以控制對該對象的訪問。即客戶端通過代理間接地訪問客戶端通過代理間接地訪問該對象,從而限制、增強或修改該對象的一些特性。該對象,從而限制、增強或修改該對象的一些特性。 適配器(適配器(adapteradapter)模式)模式:將一個類的:將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接接口轉(zhuǎn)換成客戶希望的另外一個接口口,使得原本由于接口不兼容而不能一起工作的那些類能一起工作。,使得原本由于接口不兼容而不能一起工作的那些類能一起工作。 橋接橋接(bridge)(bridge)模式模式:將抽象與實現(xiàn)分離,使他們可以:將抽象與實現(xiàn)分離,使他

4、們可以獨立的變化獨立的變化。它是。它是用用組合關(guān)系代替繼承關(guān)系組合關(guān)系代替繼承關(guān)系來實現(xiàn),從而降低了抽象和實現(xiàn)這來實現(xiàn),從而降低了抽象和實現(xiàn)這2 2個可變維度的耦合度。個可變維度的耦合度。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.1 結(jié)構(gòu)型模式概述(續(xù)) 裝飾裝飾(decorator)(decorator)模式模式:動態(tài)的給對象:動態(tài)的給對象增加一些職責(zé)增加一些職責(zé),即增加其,即增加其額外的功能。額外的功能。 外觀外觀(facade)(facade)模式模式:為多個復(fù)雜的子系統(tǒng):為多個復(fù)雜的子系統(tǒng)提供一個一致的接口提供一個一致的接口

5、,使這些子系統(tǒng)更加容易被訪問。使這些子系統(tǒng)更加容易被訪問。 享元享元(flyweight)(flyweight)模式模式:運用共享技術(shù)來有效地:運用共享技術(shù)來有效地支持大量細(xì)粒度支持大量細(xì)粒度對象的復(fù)用對象的復(fù)用。 組合組合(composite)(composite)模式模式:將對象:將對象組合成樹狀層次結(jié)構(gòu)組合成樹狀層次結(jié)構(gòu),使用戶對,使用戶對單個對象和組合對象具有一致的訪問性。單個對象和組合對象具有一致的訪問性。 以上以上7 7種結(jié)構(gòu)型模式,除了種結(jié)構(gòu)型模式,除了適配器模式適配器模式分為分為類結(jié)構(gòu)型模式類結(jié)構(gòu)型模式和和對象結(jié)對象結(jié)構(gòu)型模式構(gòu)型模式2 2種種,其他的全部屬于對象結(jié)構(gòu)型模式。,

6、其他的全部屬于對象結(jié)構(gòu)型模式。軟件設(shè)計模式(java版)(isdn:9787564740634)、 作者:程細(xì)柱人民郵電出版社()銷售電話:010-810552564.2 代理(proxy)模式 4.2.1 模式的定義與特點 定義:定義:由于某些原因需要由于某些原因需要給某對象提供一個代理以控制對該對象給某對象提供一個代理以控制對該對象的訪問的訪問。這時,訪問對象不適合或者。這時,訪問對象不適合或者不能直接引用目標(biāo)對象不能直接引用目標(biāo)對象,代理對,代理對象作為訪問對象和目標(biāo)對象之間的象作為訪問對象和目標(biāo)對象之間的中介。中介。 優(yōu)點:優(yōu)點:1 1)代理模式在客戶端與目標(biāo)對象之間起到一個)代理模式

7、在客戶端與目標(biāo)對象之間起到一個中介中介作用作用和和保護目標(biāo)對象保護目標(biāo)對象的作用;的作用;2 2)代理對象)代理對象可以擴展目標(biāo)對象的功能可以擴展目標(biāo)對象的功能;3 3)代理模式能代理模式能將客戶端與目標(biāo)對象分離將客戶端與目標(biāo)對象分離,在一定程度上降低了系統(tǒng)的耦,在一定程度上降低了系統(tǒng)的耦合度。合度。 缺點:缺點:1 1)在客戶端和目標(biāo)對象增加一個代理對象,會造成請求)在客戶端和目標(biāo)對象增加一個代理對象,會造成請求處理速度變慢處理速度變慢;2 2)增加了系統(tǒng)的)增加了系統(tǒng)的復(fù)雜度復(fù)雜度。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.2

8、代理(proxy)模式(續(xù)) 4.2.2 模式的結(jié)構(gòu)與實現(xiàn) 1.1.模式的結(jié)構(gòu)模式的結(jié)構(gòu) 代理模式的主要角色有:代理模式的主要角色有: 抽象主題(抽象主題(subjectsubject)類)類:通過接口或抽象類聲明真實主題和:通過接口或抽象類聲明真實主題和代理對象實現(xiàn)的業(yè)務(wù)方法。代理對象實現(xiàn)的業(yè)務(wù)方法。 真實主題(真實主題(realsubjectrealsubject)類)類:實現(xiàn)了抽象主題中的具體業(yè)務(wù),:實現(xiàn)了抽象主題中的具體業(yè)務(wù),是代理對象所代表的真實對象,是我們最終要引用的對象。是代理對象所代表的真實對象,是我們最終要引用的對象。 代理(代理(proxyproxy)類)類:提供了與真實主

9、題相同的接口,其內(nèi)部含:提供了與真實主題相同的接口,其內(nèi)部含有對真實主題的引用,它可以訪問或控制或擴展真實主題的功能。有對真實主題的引用,它可以訪問或控制或擴展真實主題的功能。 其結(jié)構(gòu)圖如下:其結(jié)構(gòu)圖如下:軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.2 代理(proxy)模式(續(xù)) 4.2.2 模式的結(jié)構(gòu)與實現(xiàn) 1.1.模式的結(jié)模式的結(jié)構(gòu)(續(xù)):構(gòu)(續(xù)): 結(jié)構(gòu)圖如右:結(jié)構(gòu)圖如右: 2.2.模式的實模式的實現(xiàn)現(xiàn) /實現(xiàn)代碼實現(xiàn)代碼見附件見附件軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社(

10、和 )4.2 代理(proxy)模式(續(xù)) 4.2.3 模式的應(yīng)用實例 【例【例4.14.1】 韶關(guān)韶關(guān)“天街天街e e角角”公公司是一家婺源特產(chǎn)公司的代售公司是一家婺源特產(chǎn)公司的代售公司,用代理模式實現(xiàn)之。司,用代理模式實現(xiàn)之。 分析:分析:本例中的本例中的“婺源特產(chǎn)公婺源特產(chǎn)公司司”經(jīng)營婺源特產(chǎn),它是真實主經(jīng)營婺源特產(chǎn),它是真實主題;而韶關(guān)題;而韶關(guān)“天街天街e e角角”公司是婺公司是婺源公司的代理,它可以調(diào)用婺源源公司的代理,它可以調(diào)用婺源公司的相關(guān)方法,而且它可以增公司的相關(guān)方法,而且它可以增加一些額外的處理,如包裝或加加一些額外的處理,如包裝或加價等;客戶端通過價等;客戶端通過“天街

11、天街e e角角”公公司間接訪問司間接訪問“婺源公司婺源公司”的產(chǎn)品,的產(chǎn)品,右邊是其結(jié)構(gòu)圖:右邊是其結(jié)構(gòu)圖: 注:程序代碼見附件。注:程序代碼見附件。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.2 代理(proxy)模式(續(xù)) 4.2.3 模式的應(yīng)用實例 【例【例4.14.1】 韶關(guān)韶關(guān)“天街天街e e角角”公司是公司是一家婺源特產(chǎn)公司一家婺源特產(chǎn)公司的代售公司,用代的代售公司,用代理模式實現(xiàn)之。理模式實現(xiàn)之。 右邊是程序的運右邊是程序的運行結(jié)果:行結(jié)果:軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民

12、郵電出版社( 和 )4.2 代理(proxy)模式(續(xù)) 4.2.4 模式的應(yīng)用場景 1 1)遠(yuǎn)程代理遠(yuǎn)程代理,這種方式通常是,這種方式通常是為了隱藏目標(biāo)對象存在于不同地址空間的事實為了隱藏目標(biāo)對象存在于不同地址空間的事實,方便客戶端訪問。例如用戶申請某些網(wǎng)盤空間時,會在用戶的文件系統(tǒng)中建立一方便客戶端訪問。例如用戶申請某些網(wǎng)盤空間時,會在用戶的文件系統(tǒng)中建立一個個虛擬的硬盤虛擬的硬盤,用戶訪問它實際訪問的是網(wǎng)盤空間。,用戶訪問它實際訪問的是網(wǎng)盤空間。 2 2)虛擬代理虛擬代理,這種方式通常,這種方式通常用于要創(chuàng)建的目標(biāo)對象開銷很大時用于要創(chuàng)建的目標(biāo)對象開銷很大時。比如下載。比如下載一幅很大的

13、圖像需要很長時間,因某種計算比較復(fù)雜而短時間無法完成,這時可一幅很大的圖像需要很長時間,因某種計算比較復(fù)雜而短時間無法完成,這時可以先用小比例的虛擬代理替換真實的對象,消除用戶對服務(wù)器慢的感覺。以先用小比例的虛擬代理替換真實的對象,消除用戶對服務(wù)器慢的感覺。 3 3)安全代理安全代理,這種方式通常,這種方式通常用于控制不同種類客戶對真實對象的訪問權(quán)限用于控制不同種類客戶對真實對象的訪問權(quán)限。 4 4)智能指引智能指引,主要用于當(dāng)調(diào)用目標(biāo)對象時,主要用于當(dāng)調(diào)用目標(biāo)對象時,代理附加一些額外的處理功能代理附加一些額外的處理功能。比如增加計算真實對象的引用次數(shù)的功能,這樣當(dāng)該對象沒有引用時,就可以自比

14、如增加計算真實對象的引用次數(shù)的功能,這樣當(dāng)該對象沒有引用時,就可以自動釋放它。動釋放它。 5 5)延遲加載延遲加載,指為了提高系統(tǒng)的性能,指為了提高系統(tǒng)的性能,延遲對目標(biāo)的加載延遲對目標(biāo)的加載。例如,。例如,hibernatehibernate中就存在屬性的延遲加載和關(guān)聯(lián)表的延時加載。中就存在屬性的延遲加載和關(guān)聯(lián)表的延時加載。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.2 代理(proxy)模式(續(xù)) 4.2.5 模式的擴展 前面介紹是前面介紹是靜態(tài)代理模靜態(tài)代理模式式,存在,存在兩個缺點:兩個缺點:1 1)真真實主題與代理主題一一對

15、實主題與代理主題一一對應(yīng),增加真實主題也要增應(yīng),增加真實主題也要增加代理加代理;2 2)設(shè)計代理以前設(shè)計代理以前真實主題必須事先存在,真實主題必須事先存在,不太靈活不太靈活。而采用。而采用動態(tài)代動態(tài)代理模式理模式可以解決以上問題,可以解決以上問題,其結(jié)構(gòu)圖如右:其結(jié)構(gòu)圖如右:軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式 4.3.1 模式的定義與特點 定義:定義:將一個類的將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口接口轉(zhuǎn)換成客戶希望的另外一個接口,使得原,使得原本由于接口本由于接口不兼容不兼容而不能一起工

16、作的那些類而不能一起工作的那些類能一起工作能一起工作。 適配器模式分為適配器模式分為類結(jié)構(gòu)型模式類結(jié)構(gòu)型模式和和對象結(jié)構(gòu)型模式對象結(jié)構(gòu)型模式2 2種。種。 優(yōu)點:優(yōu)點: 1 1)客戶端客戶端通過適配器通過適配器可以透明地調(diào)用目標(biāo)接口可以透明地調(diào)用目標(biāo)接口; 2 2)程序員不需要修改原有代碼而)程序員不需要修改原有代碼而重用現(xiàn)有的適配者類重用現(xiàn)有的適配者類; 3 3)將目標(biāo)類和適配者類解耦,)將目標(biāo)類和適配者類解耦,解決了目標(biāo)類和適配者類接口不解決了目標(biāo)類和適配者類接口不一致的問題一致的問題。 缺點:缺點:對于類適配器來說,對于類適配器來說,更換適配器的實現(xiàn)過程比較復(fù)雜更換適配器的實現(xiàn)過程比較復(fù)

17、雜。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式(續(xù)) 4.3.2 模式的結(jié)構(gòu)與實現(xiàn) 1.1.模式的結(jié)構(gòu)模式的結(jié)構(gòu) 適配器模式包含以下主要角色:適配器模式包含以下主要角色: 目標(biāo)(目標(biāo)(targettarget)接口)接口:當(dāng)前系統(tǒng)業(yè)務(wù)所期待的接口,它可以:當(dāng)前系統(tǒng)業(yè)務(wù)所期待的接口,它可以是抽象類或接口。是抽象類或接口。 適配者(適配者(adapteeadaptee)類)類:是被訪問和適配的現(xiàn)存組件庫中的組:是被訪問和適配的現(xiàn)存組件庫中的組件接口。件接口。 適配器(適配器(adapteradapter)

18、類)類:它一個轉(zhuǎn)換器,通過繼承或引用適配:它一個轉(zhuǎn)換器,通過繼承或引用適配者的對象,把適配者接口轉(zhuǎn)換成目標(biāo)接口,讓客戶按目標(biāo)接口的格式者的對象,把適配者接口轉(zhuǎn)換成目標(biāo)接口,讓客戶按目標(biāo)接口的格式訪問適配者。訪問適配者。 適配器模式分為:適配器模式分為:類適配器模式類適配器模式和和對象適配器模式對象適配器模式2 2種。種。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式(續(xù))a.a.類適配器模式:類適配器模式:其其實現(xiàn)代碼見附件實現(xiàn)代碼見附件,結(jié)構(gòu)圖如下:,結(jié)構(gòu)圖如下:軟件設(shè)計模式(java版)、 作者:程細(xì)

19、柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式(續(xù))b.b.對象適配器模式:對象適配器模式:其其實現(xiàn)代碼見附件實現(xiàn)代碼見附件,結(jié)構(gòu)圖如下:,結(jié)構(gòu)圖如下:軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式(續(xù)) 4.3.3 模式的應(yīng)用實例 【例【例4.24.2】 用適配器模式模擬用適配器模式模擬新能源汽車的發(fā)動機。新能源汽車的發(fā)動機。 分析:分析:新能源汽車的發(fā)動機新能源汽車的發(fā)動機有有電能發(fā)動機電能發(fā)動機和和光能發(fā)動機光能發(fā)動機等,等,各種發(fā)動機的驅(qū)動方法不同

20、,各種發(fā)動機的驅(qū)動方法不同,客戶端客戶端希望用統(tǒng)一的發(fā)動機驅(qū)希望用統(tǒng)一的發(fā)動機驅(qū)動方法動方法drive()drive()訪問訪問這兩種發(fā)動這兩種發(fā)動機,所以要為這些發(fā)動機定義機,所以要為這些發(fā)動機定義適配器適配器,右邊是其結(jié)構(gòu)圖:,右邊是其結(jié)構(gòu)圖: 注:程序代碼見附件注:程序代碼見附件軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式(續(xù)) 4.3.4 模式的應(yīng)用場景 適配器模式通常適用以下場景:適配器模式通常適用以下場景: 1 1)以前開發(fā)的系統(tǒng))以前開發(fā)的系統(tǒng)存在滿足新系統(tǒng)功能需求的類存在滿足新系統(tǒng)功能需

21、求的類,但其接口但其接口同同新系統(tǒng)的接口新系統(tǒng)的接口不一致不一致。 2 2)使用第三方提供的組件使用第三方提供的組件,但組件接口定義和自己要求的,但組件接口定義和自己要求的接口接口定義不同定義不同。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.3 適配器(adapter)模式(續(xù)) 4.3.5 模式的擴展 適配器模式可擴展為適配器模式可擴展為雙向適配器模式雙向適配器模式,雙向適,雙向適配器類既可以把適配者接配器類既可以把適配者接口轉(zhuǎn)換成目標(biāo)接口,也可口轉(zhuǎn)換成目標(biāo)接口,也可以把目標(biāo)接口轉(zhuǎn)換成適配以把目標(biāo)接口轉(zhuǎn)換成適配者接口,右邊是其結(jié)構(gòu)圖

22、:者接口,右邊是其結(jié)構(gòu)圖: 注:程序代碼見附件注:程序代碼見附件軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.4 橋接(bridge)模式 4.4.1 模式的定義與特點 定義:定義:將將抽象與實現(xiàn)分離抽象與實現(xiàn)分離,使,使他們可以獨立的變化他們可以獨立的變化。它是。它是用用組合組合關(guān)系代替繼承關(guān)系關(guān)系代替繼承關(guān)系來實現(xiàn),用于來實現(xiàn),用于多個維度變化的實例多個維度變化的實例,如圖形既可按,如圖形既可按形狀分,又可按顏色分形狀分,又可按顏色分。 優(yōu)點:優(yōu)點: 1 1)由于抽象與實現(xiàn)分離,所以)由于抽象與實現(xiàn)分離,所以擴展能力強擴展能力強;

23、2 2)其)其實現(xiàn)細(xì)節(jié)對客戶透明實現(xiàn)細(xì)節(jié)對客戶透明。 缺點:缺點:由于聚合關(guān)系建立在抽象層,要求開發(fā)者針對抽象化進行由于聚合關(guān)系建立在抽象層,要求開發(fā)者針對抽象化進行設(shè)計與編程,這設(shè)計與編程,這增加了系統(tǒng)的理解與設(shè)計難度增加了系統(tǒng)的理解與設(shè)計難度。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.4 橋接(bridge)模式(續(xù)) 4.4.2 模式的結(jié)構(gòu)與實現(xiàn) 1.1.模式的結(jié)構(gòu)模式的結(jié)構(gòu) 橋接模式包含以下主要角色:橋接模式包含以下主要角色: 抽象化抽象化(abstraction)(abstraction)角色角色:定義抽象類,并包含一個對

24、實現(xiàn):定義抽象類,并包含一個對實現(xiàn)化對象的引用?;瘜ο蟮囊?。 擴展抽象化擴展抽象化(refined abstraction)(refined abstraction)角色角色:是抽象化角色的子:是抽象化角色的子類,實現(xiàn)父類中的業(yè)務(wù)方法,并通過組合關(guān)系調(diào)用實現(xiàn)化角色中的業(yè)類,實現(xiàn)父類中的業(yè)務(wù)方法,并通過組合關(guān)系調(diào)用實現(xiàn)化角色中的業(yè)務(wù)方法。務(wù)方法。 實現(xiàn)化實現(xiàn)化(implementor)(implementor)角色角色:定義實現(xiàn)化角色的接口,供擴展:定義實現(xiàn)化角色的接口,供擴展抽象化角色調(diào)用。抽象化角色調(diào)用。 具體實現(xiàn)化具體實現(xiàn)化(concrete implementor)(concrete

25、implementor)角色角色:給出實現(xiàn)化角色:給出實現(xiàn)化角色接口的具體實現(xiàn)。接口的具體實現(xiàn)。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.4 橋接(bridge)模式(續(xù)) 4.4.2 模式的結(jié)構(gòu)與實現(xiàn) 1.1.模式的結(jié)模式的結(jié)構(gòu)(續(xù)):構(gòu)(續(xù)): 結(jié)構(gòu)圖如右:結(jié)構(gòu)圖如右: 2.2.模式的實模式的實現(xiàn)現(xiàn) /實現(xiàn)代碼實現(xiàn)代碼見附件見附件軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.4 橋接(bridge)模式(續(xù)) 4.4.3 模式的應(yīng)用實例 【例【例4.34.3】 用橋接模式

26、模擬女士用橋接模式模擬女士皮包的選購皮包的選購。 分析:分析:女士皮包有很多種,可女士皮包有很多種,可以按用途分、按皮質(zhì)分、按品牌分、以按用途分、按皮質(zhì)分、按品牌分、按顏色分、按大小分等,存在多個按顏色分、按大小分等,存在多個維度的變化,所以采用橋接模式來維度的變化,所以采用橋接模式來實現(xiàn)女士皮包的選購比較合適。本實現(xiàn)女士皮包的選購比較合適。本實例按用途分可選錢包(實例按用途分可選錢包(walletwallet)和挎包(和挎包(handbaghandbag),按顏色分可),按顏色分可選黃色(選黃色(yellowyellow)和紅色()和紅色(redred),右邊是其結(jié)構(gòu)圖:右邊是其結(jié)構(gòu)圖: 注:程序代碼見附件。注:程序代碼見附件。軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話民郵電出版社( 和 )4.4 橋接(bridge)模式(續(xù)) 4.4.3 模式的應(yīng)用實例 【例【例4.34.3】 用橋接模用橋接模式模擬女士皮包的選購式模擬女士皮包的選購。 右邊是程序的運行結(jié)右邊是程序的運行結(jié)果:果:軟件設(shè)計模式(java版)、 作者:程細(xì)柱銷售電話

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論