設計模式總結之結構型模式

來源:互聯網
上載者:User

適配器模式

兩個類所做的事情相同或相似,但是具有不同的介面。主要應用於希望複用一些現存的類,但是介面又與複用環境要求不同的情況。

Public override void Attack ()

{

Wjzf.進攻();

}

翻譯者的attack時,外籍中鋒的進攻執行。

裝飾模式

動態給一個對象添加一些額外的職責。也就是說裝飾類作用的對象可以是沒有裝飾過的對象,也可以是已經裝飾過的對象。這就意味著同一個介面,可以作用於任意的對象,不管它是否已經被作用過,也就是可以為已有功能動態添加更多的功能。可以有選擇的使用其中的功能,而不是全部都使用。

橋接模式

實現系統可能有多個角度分類,每一種每類都有可能變化,那麼就把這種多角度分離出來讓他們獨立變化,減少耦合。

組合模式

需求中體現部分與整體層次的結構時,希望使用者可以忽略組合對象與單個對象的不同,統一的使用組合結構中的所有對象。基本對象可以被組合為更複雜的組合對象,而這個組合對象又可以被組合。使用者不用關心到底是處理一個分葉節點還是處理一個組合組件。

 

享元模式

享元模式實現了複用,可以避免大量非常相似類的開銷.如果發現除了幾個參數外基本都是相同的,有時就能大幅度的減少需要執行個體化的類的數量,如果能把參數移到類執行個體的外面,在方法調用時將它們傳遞進來,就可以通過共用大幅度的減少單個執行個體的數目.

 

代理模式

為其他對象提供一種代理以控制對這個對象的訪問.實際上我感覺代理模式跟適配器模式相似,都是起到一個中間者的角色.同樣代理其實就相當於一個它所代表的實體,只不過使用代理模式,可以隱藏一個對象存在於不同地址空間的事實,可以控制真實對象訪問時的許可權等等.

Class Proxy

{

Public overrideRequest()

{

Realsubject.request();

}

}

面板模式

面板模式簡單點說就是把一組統一調用的子系統放在外觀類中,這樣便於客戶操作,客戶可以不用知道具體的子系統,只要與一個外觀類打交道就行。

例子:買股票,買進幾隻股票,賣出幾隻股票都放在一個外觀類中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.