語言與模式 08介面卡模式

2021-06-29 01:23:37 字數 900 閱讀 8596

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

假設目前做乙個新系統,有如下**結構。

public

inte***ce

carpublic

class

benz

implements

car}

public

class

cruze

implements

car}

有乙個老系統,裡面有如下**

public

class

smart

}

類介面卡:

public

class

smartcar

extends

smart

implements

car}

物件介面卡:

public

class

smartcar

implements

car}

first-class function輕鬆解決!

(defn

drive

(println

"drive"))

(defn

run

(println

"run"))

(defn

do-drive [f]

(f))

(do-drive drive)

(do-drive run)

設計模式 介面卡模式 類介面卡 物件介面卡

乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...

介面卡模式 日誌介面卡

在寫 策略模式 的時候,筆者就用 日誌 舉了例子,這篇文章還是要以日誌為例。日誌的重要性筆者這裡不再多言了,大家在系統開發中記錄日誌的時候,有沒有考慮過這樣乙個問題 萬一使用的日誌框架要更換呢?一旦更換你需要怎麼做?修改所有的 替換logger類嗎?如果這麼做的話,不管是對系統,還是對開發者來說,都...

介面卡模式 物件介面卡

介面卡模式 adapter 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原來由於不相容而不能一起工作的那些類可以一起工作。介面卡模式主要應用於希望復用一些現存的類,但是介面又與復用環境要求不一致的情況。在gof的設計模式中,對介面卡模式講了兩種型別,類介面卡模式和物件介面卡模式...