結構型模式,討論的是類和物件的結構,它採用繼承機制來組合介面和實現,或者通過組合一些物件,從而實現新的功能。gof23中設計模式中的結構模式有7種,分別是介面卡模式(adapter)、裝飾器模式(decorator)、**模式(proxy)、外觀模式(facade)、橋接模式(bridge)、組合模式(composite)、享元模式(flyweight)
(1)介面卡模式:核心思想—把原有的介面轉變成為呼叫者期待的介面,從而使不同介面的類可以一起工作。
介面卡包含3個角色:原角色adaptee—需要適配的目標類或介面、目標角色target—所期望得到的介面、介面卡角色adapter—介面卡類是本模式的核心,用來把源介面轉換成目標介面,顯然這一角色不可以是介面,而必須是具體類。
第一種:類的介面卡模式(對類進行適配)
第二種:物件的介面卡模式(對物件進行包裝)
物件的介面卡模式用來對目標物件進行包裝,因此又叫包裝器模式。效果與第一種模式相同,不同的是適配的方式不同。
第三種:介面的介面卡模式(對介面抽象化)
有時我們會在乙個介面中定義多個介面方法,如果要實現該介面編寫乙個類,就必須為每乙個介面方法編寫**,這顯然會造成很大的浪費。為了解決這個問題,可以使用第三種介面卡模式—預設介面卡。它會為原有的介面類實現乙個預設的抽象類,在該抽象類中編寫每乙個介面的預設實現,當我們需要編寫乙個具體類時,只需要繼承自該類,而不需要實現原有的介面。並且,此時我們不需要實現所有的介面方法,只實現需要的函式即可。
建立型模式,結構型模式,結構型模式
為了閱讀方便,本文使用 全文手工轉換 轉換內容 本文採用電腦和資訊科技 顯示 關閉 字詞轉換 說明 字詞轉換是中文維基的一項自動轉換,目的是通過電腦程式自動消除繁簡 地區詞等不同用字模式的差異,以達到閱讀方便。字詞轉換包括全域性轉換和手動轉換,本說明所使用的標題轉換和全文轉換技術,都屬於手動轉換。如...
7種結構型模式之外觀模式(五)
在現實生活中,常常存在辦事較複雜的例子,如辦房產證或註冊一家公司,有時要同多個部門聯絡,這時要是有乙個綜合部門能解決一切手續問題就好了。軟體設計也是這樣,當乙個系統的功能越來越強,子系統會越來越多,客戶對系統的訪問也變得越來越複雜。這時如果系統內部發生改變,客戶端也要跟著改變,這違背了 開閉原則 也...
結構型模式
結構型模式可以分為類結構型模式和物件結構型模式 類結構型模式關心類的組合,由多個類可以組合成乙個更大的系統,在類結構型模式中一般只存在繼承關係和實現關係。物件結構型模式關心類與物件的組合,通過關聯關係使得在乙個類中定義另乙個類的例項物件,然後通過該物件呼叫其方法。根據 合成復用原則 在系統中盡量使用...