設計模式golang 介面卡模式

2021-10-23 01:22:12 字數 577 閱讀 4080

將乙個介面轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。

1.源介面。

2.適配目的介面。

3.適配結構體。

人類能說話,動物也能發聲叫,人類能學動物叫,需要乙個轉換器把人類的叫聲轉換為動物的叫聲。

//適配目的介面

type animalsound inte***ce

//源結構體

type peoplespeak sturct

func(s *peoplespeak)speak()

type dog struct{}

func(a *dog)sound()

//轉換器,把人類的叫聲轉換為動物的叫聲

type peoplespeakadapter struct

fun (s *peoplespeakadapter)sound()

func sound(as animalsound)

func main()}

sound(psa)

}

介面卡模式即將一種結構體型別(或介面)轉換為另外一種結構體型別(或介面)。

Golang設計模式 介面卡模式

介面卡模式包含如下角色 target 目標抽象類 adapter 介面卡類 adaptee 適配者類 client 客戶類 物件介面卡 類介面卡 在以下情況下可以使用介面卡模式 系統需要使用現有的類,而這些類的介面不符合系統的需要。想要建立乙個可以重複使用的類,用於與一些彼此之間沒有太大關聯的一些類...

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

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

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...