適配器模式
兩個類所做的事情相同或相似,但是具有不同的介面。主要應用於希望複用一些現存的類,但是介面又與複用環境要求不同的情況。
Public override void Attack ()
{
Wjzf.進攻();
}
翻譯者的attack時,外籍中鋒的進攻執行。
裝飾模式
動態給一個對象添加一些額外的職責。也就是說裝飾類作用的對象可以是沒有裝飾過的對象,也可以是已經裝飾過的對象。這就意味著同一個介面,可以作用於任意的對象,不管它是否已經被作用過,也就是可以為已有功能動態添加更多的功能。可以有選擇的使用其中的功能,而不是全部都使用。
橋接模式
實現系統可能有多個角度分類,每一種每類都有可能變化,那麼就把這種多角度分離出來讓他們獨立變化,減少耦合。
組合模式
需求中體現部分與整體層次的結構時,希望使用者可以忽略組合對象與單個對象的不同,統一的使用組合結構中的所有對象。基本對象可以被組合為更複雜的組合對象,而這個組合對象又可以被組合。使用者不用關心到底是處理一個分葉節點還是處理一個組合組件。
享元模式
享元模式實現了複用,可以避免大量非常相似類的開銷.如果發現除了幾個參數外基本都是相同的,有時就能大幅度的減少需要執行個體化的類的數量,如果能把參數移到類執行個體的外面,在方法調用時將它們傳遞進來,就可以通過共用大幅度的減少單個執行個體的數目.
代理模式
為其他對象提供一種代理以控制對這個對象的訪問.實際上我感覺代理模式跟適配器模式相似,都是起到一個中間者的角色.同樣代理其實就相當於一個它所代表的實體,只不過使用代理模式,可以隱藏一個對象存在於不同地址空間的事實,可以控制真實對象訪問時的許可權等等.
Class Proxy
{
Public overrideRequest()
{
Realsubject.request();
}
}
面板模式
面板模式簡單點說就是把一組統一調用的子系統放在外觀類中,這樣便於客戶操作,客戶可以不用知道具體的子系統,只要與一個外觀類打交道就行。
例子:買股票,買進幾隻股票,賣出幾隻股票都放在一個外觀類中。