免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
設(shè)計(jì)模式學(xué)習(xí)筆記(十五)——結(jié)構(gòu)型模式總結(jié)

結(jié)構(gòu)型設(shè)計(jì)模式是從程序的結(jié)構(gòu)上解決模塊之間的耦合問題(好像是句廢話),GoF23種設(shè)計(jì)模式中結(jié)構(gòu)型設(shè)計(jì)模式有7種,分別是:Adapter適配器模式、Bridge橋接模式、Composite組合模式、Decorator裝飾模式、Facade外觀模式、Flyweight享元模式和Proxy代理模式。下面分別總結(jié)一下這幾種模式:

設(shè)計(jì)模式

GoF的描述

我的理解

Adapter適配器模式

將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能一起工作的類可以一起工作

轉(zhuǎn)換接口,由于應(yīng)用環(huán)境的變化,常常需要將“一些現(xiàn)存的對(duì)象”放在新的環(huán)境中應(yīng)用,但是,新環(huán)境要求的接口是現(xiàn)存對(duì)象所不滿足的,此時(shí)我們可以通過添加一層Adapter對(duì)現(xiàn)有的對(duì)象加入一些接口,使其適應(yīng)新的應(yīng)用環(huán)境。

Bridge橋接模式

將抽象部分與實(shí)現(xiàn)部分分離,使他們可以獨(dú)立的變化

分離接口(抽象)與其實(shí)現(xiàn),當(dāng)某個(gè)類型具有兩個(gè)或兩個(gè)以上的緯度變化(或者說(shuō)是變化點(diǎn)),通過以繼承接口的方式隔離變化,以減少因變化帶來(lái)的代碼的修改量。

Composite組合模式

將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。Composite模式使得客戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性

解決客戶程序與復(fù)雜對(duì)象容器的解耦,一類具有“容器特征”的對(duì)象——即他們?cè)诔洚?dāng)對(duì)象的同時(shí),又是其他對(duì)象的容器的情況,通過繼承統(tǒng)一的接口,我們可以將容器對(duì)象及其子對(duì)象看成同一類對(duì)象使用,以減少對(duì)象使用中的復(fù)雜度。

Decorator裝飾模式

動(dòng)態(tài)的給一個(gè)對(duì)象添加一些額外的職責(zé)。就增加功能而言,Decorator模式比生成子類更為靈活

在穩(wěn)定接口的前提下為對(duì)象擴(kuò)展功能,主要是解決用繼承的方式為對(duì)象擴(kuò)展大量功能而造成的子對(duì)象數(shù)量膨脹的問題

Facade外觀模式

為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,Facade模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用

簡(jiǎn)化接口,對(duì)于復(fù)雜子系統(tǒng)或子對(duì)象調(diào)用的封裝。從客戶程序角度看,只能看見Facade提供的接口。換句話說(shuō)是對(duì)子對(duì)象調(diào)用的封裝,將客戶程序?qū)ψ訉?duì)象的調(diào)用與子對(duì)象的變化分離。

Flyweight享元模式

運(yùn)用共享技術(shù)有效的支持大量細(xì)粒度的對(duì)象

主要是解決由于相同對(duì)象數(shù)量過大而造成系統(tǒng)內(nèi)存開銷過大的問題。實(shí)際上是相同的對(duì)象引用指向同一個(gè)對(duì)象空間。在使用Flyweight模式前要做一個(gè)評(píng)估,如果使用不當(dāng)會(huì)適得其反

Proxy代理模式

為其他對(duì)象提供一種代理以控制這個(gè)對(duì)象的訪問

解決直接訪問某些對(duì)象是出現(xiàn)的問題,如:訪問遠(yuǎn)程的對(duì)象

   在學(xué)習(xí)的過程中感覺,從代碼的角度看Adapter適配器模式和Proxy代理模式有些類似,Adapter適配器模式是解決現(xiàn)有對(duì)象在新的環(huán)境中的不足,而Proxy代理模式是解決直接訪問對(duì)象時(shí)出現(xiàn)的問題,這兩種模式從使用角度看都是解決直接訪問對(duì)象時(shí)出現(xiàn)的問題,只是含義不十分相同。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用C ++ 進(jìn)行 設(shè)計(jì)模式的解析和實(shí)現(xiàn)
用C++進(jìn)行 設(shè)計(jì)模式的解析和實(shí)現(xiàn)
軟件架構(gòu)設(shè)計(jì)系列之十二(設(shè)計(jì)模式)
spring中的設(shè)計(jì)模式解析
設(shè)計(jì)模式之創(chuàng)建型模式
設(shè)計(jì)模式之Facade--外觀模式
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服