小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

設計模式學習筆記(十五)——結構型模式總結

 skywood 2007-08-06

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

設計模式

GoF的描述

我的理解

Adapter適配器模式

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

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

Bridge橋接模式

將抽象部分與實現部分分離,使他們可以獨立的變化

分離接口(抽象)與其實現,當某個類型具有兩個或兩個以上的緯度變化(或者說是變化點),通過以繼承接口的方式隔離變化,以減少因變化帶來的代碼的修改量。

Composite組合模式

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

解決客戶程序與復雜對象容器的解耦,一類具有“容器特征”的對象——即他們在充當對象的同時,又是其他對象的容器的情況,通過繼承統(tǒng)一的接口,我們可以將容器對象及其子對象看成同一類對象使用,以減少對象使用中的復雜度。

Decorator裝飾模式

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

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

Facade外觀模式

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

簡化接口,對于復雜子系統(tǒng)或子對象調用的封裝。從客戶程序角度看,只能看見Facade提供的接口。換句話說是對子對象調用的封裝,將客戶程序對子對象的調用與子對象的變化分離。

Flyweight享元模式

運用共享技術有效的支持大量細粒度的對象

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

Proxy代理模式

為其他對象提供一種代理以控制這個對象的訪問

解決直接訪問某些對象是出現的問題,如:訪問遠程的對象

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

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多