介面卡模式(Adapter)

2021-09-12 11:15:27 字數 1328 閱讀 5076

介面卡模式是為了相容。開發中我們常會遇到這樣的場景:老系統執行了很久,為了保持其穩定性,不便再去修改原來的**,但是又為了相容新的需求或者標準,我們不得不在系統再去做一些文章(向下相容)。

編碼解碼、 一拖三充電頭、hdmi 轉 vga、 type-c 轉 usb

說乙個專案開發都會遇到的場景:登陸功能的開發。直接上**。

最開始只需要使用者名稱和密碼(註冊和登陸)。

public

class

signinservice

/** * 登入的方法

* @param username

* @param password

* @return

*/public resultmsg login

(string username,string password)

}

//穩定的方法不去動,直接繼承下來

public

class

signinforthirdservice

extends

signinservice

public resultmsg loginforwechat

(string openid)

public resultmsg loginfortoken

(string token)

public resultmsg loginfortelphone

(string telphone,string code)

public resultmsg loginforregist

(string username,string password)

}

上述signinforthirdservice 通過繼承signinservice 類,在新增功能中直接呼叫父類中的regist()和login()。

當然我們也可以通過注入來實現,而非繼承。

測試類

public

class

signinforthirdservicetest

}

spring aop 模組對 beforeadvice、 afteradvice、 throwsadvice 三種通知型別的支援實際上是借助介面卡模式來實現的, 這樣的好處是使得框架允許使用者向框架中加入自己想要支援的任何一種通知型別, 上述三種通知型別是 spring aop 模組定義的, 它們是 aop 聯盟定義的 advice 的子型別。

介面卡模式注重相容、轉換。適配者與被適配者之間沒有層級關係,也沒有必然聯絡。

介面卡模式 Adapter

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

Adapter 介面卡模式

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

Adapter介面卡模式

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