4 結(jié)構(gòu)型模式

結(jié)構(gòu)型模式涉及到如何組合類(lèi)和對(duì)象以獲得更大的結(jié)構(gòu)。結(jié)構(gòu)性類(lèi)模式采用繼承機(jī)制來(lái)組合接口或?qū)崿F(xiàn)。

Adapter ( 4 . 1 )適配器模式使得一個(gè)接口 ( adaptee的接口)與其他接口兼容,從而給出了多個(gè)不同接口的統(tǒng)一抽象。為此,類(lèi)適配器對(duì)一個(gè)adaptee類(lèi)進(jìn)行私有繼承。這樣,適配器就可以用adaptee的接口表示它的接口。

Composite(4.3)模式是結(jié)構(gòu)型對(duì)象模式的一個(gè)實(shí)例。它描述了如何構(gòu)造一個(gè)類(lèi)層次式結(jié)構(gòu),這一結(jié)構(gòu)由兩種類(lèi)型的對(duì)象(基元對(duì)象和組合對(duì)象)所對(duì)應(yīng)的類(lèi)構(gòu)成。其中的組合對(duì)象使得你可以組合基元對(duì)象以及其他的組合對(duì)象,從而形成任意復(fù)雜的結(jié)構(gòu)。

Proxy(4.7)模式中,proxy對(duì)象作為其它對(duì)象的一個(gè)方便的替代或占位符。它的使用可以有多種形式,例如它可以在局部空間中代表一個(gè)遠(yuǎn)程地址空間中的對(duì)象,也可以表示一個(gè)要求被加載的較大的對(duì)象,還可以用來(lái)保護(hù)對(duì)敏感對(duì)象的訪問(wèn)。Proxy模式還提供了對(duì)對(duì)象的一些特有性質(zhì)的一定程度上的間接訪問(wèn),從而它可以限制、增強(qiáng)或修改這些性質(zhì)。

Flyweight(4.6)模式為了共享對(duì)象定義了一個(gè)結(jié)構(gòu)。至少有兩個(gè)原因要求對(duì)象共享:效率和一致性。Flyweight的對(duì)象共享機(jī)制主要強(qiáng)調(diào)對(duì)象的空間效率。使用很多對(duì)象的應(yīng)用必需考慮每一個(gè)對(duì)象的開(kāi)銷(xiāo)。使用對(duì)象共享而不是進(jìn)行對(duì)象復(fù)制,可以節(jié)省大量的空間資源。但是僅當(dāng)這些對(duì)象沒(méi)有定義與上下文相關(guān)的狀態(tài)時(shí),它們才可以被共享。

Facade ( 4 . 5 )模式則描述了如何用單個(gè)對(duì)象表示整個(gè)子系統(tǒng)。

Bridge ( 4 . 2 )模式將對(duì)象的抽象和其實(shí)現(xiàn)分離,從而可以獨(dú)立地改變它們。模式中的bridge用來(lái)表示一組對(duì)象,bridge的職責(zé)是將消息轉(zhuǎn)發(fā)給它所表示的對(duì)象。

Decorator( 4 . 4 )模式描述了如何動(dòng)態(tài)地為對(duì)象添加職責(zé)。 Decorator模式是一種結(jié)構(gòu)型模式。這一模式采用遞歸方式組合對(duì)象,從而允許你添加任意多的對(duì)象職責(zé)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容