介面卡模式(Adapter)

2021-09-06 06:00:48 字數 1240 閱讀 9812

1  概述

遇到這樣的問題:需要用到已有的功能,功能的資料和行為都是正確的,但是功能的呼叫繁雜並要在多個地方呼叫。在正常的思維下,我們將功能的呼叫寫在乙個公共類的乙個方法中,這樣我們就已經達到了隔離已有複雜功能目的。但這樣做有如下缺點:

1>如果這個類有多個公開的方法,則不能對這個類進行統一的管理;

2>如果這個類中的方法相互依賴很強,那麼寫公共方法也會比較煩;

最後,我們用oo的語言開發,應該以oo的思想來解決這個問題。上述的問題,通過大師們的總結,已經形成乙個統一的解決模式:介面卡模式;

2  gof中的定義

2.1 意圖:

將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。——gof

2.2 物件介面卡結構圖

2.3 說明:

adaptee:第三方元件或舊系統中複雜的類;

target:新系統所希望的介面;

adapter:將adaptee轉換成target。

3 示例實現

///

///舊系統中的已有的類

/// public

class

adaptee

}//////

客戶**希望的介面

/// public

inte***ce

isendmail

//////

介面卡類

/// public

class

adapter:isendmail

private

string

tilte;

public

string

tilte

set

}private

string

address;

public

string

address

set

}public

void

sendmail()

}

4 總結總的來說,介面卡模式就是在不改變原有**的前提下,將不相容或複雜的介面,轉換成我們需要的介面。

介面卡模式 Adapter

一句話 什麼是adapter adapter 就是乙個轉換器,比如乙個電源插頭可以讓乙個兩插頭的電器使用牆壁上的三插頭電源。這次的介紹將不寫 雖然設計模式是為了 而生,但我認為這是一種看世界的方法,不僅僅是一種 的設計方式,所以這次的介面卡模式因為比較簡單和容易理解就不再寫 解釋,但介面卡的思想能用...

Adapter 介面卡模式

1.概念 介面卡模式 adapter pattern gof95 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。2.兩種形式 a.類的介面卡模式 b.物件的介面卡模式 3.模擬問題 現在假設我們的程式已經設計了介面request介面,但是...

Adapter介面卡模式

adapter介面卡模式是一種結構型模式,主要應對 由於應用環境的變化,常常需要將 一些現存的物件 放在新的環境中應用,但是,新環境要求的介面是現存物件所不滿足的。設計模式 中說道 將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的類可以一起工作。在實...