2022年1月30日 星期日

[Geroge]設計模式-適配器模式Adapter Pattern (上)

適配器模式(Adapter pattern)

將一個類的介面轉換成客戶希望的另外一個介面, Adapter模式使得原本由於介面不兼容而不能一起工作的那些類可以一起工作-Gang of Four

就如同筆記本的插頭一般都會帶有一個黑色長方形的物體, 名字叫適配器(轉接頭)

功能就把220V轉化為12V供我們的筆記本使用, 我們今天講的模式是一樣的





適配器模式的結構 有兩種:

1類的適配器模式









Adapter是中間一個環節, 把Adaptee的API與Target類的API銜接起來

Adapter繼承Adaptee同時實現Target介面(因繼承而屬於類的適配器模式)

目標(Target)角色: 這就是期待的介面, 由於這裡是類適配器模式, 因此目標不可以是類

(Adaptee)角色: 現在需要適配的對象(ex 220V)

適配器(Adapter)角色: 類適配器適本模式的核心, 類適配器把源類別轉換成目標介面, 顯然這一角色不可以是介面, 而必須是具體類

例子:

我們有220V, 也有5V, 而NoteBook使用5V做事










這時我們就需要轉接頭(Adapter)

運作getPower5V裡面會使用父類別得到220V並轉換






運作測試, 當notbook power on的時候塞入Adapter






下面是結果




https://www.youtube.com/watch?v=cA-vt0Nf1nQ&list=PLGmd9-PCMLhb16ZxeSy00qUsBazXgJyfM&index=17

https://github.com/iw5420/geroge-design-pattern


沒有留言:

張貼留言

海科面試問題

 1 關於 java中的spring 有ioc和aop可以介紹一下分別是在做什麼嗎? 在Java的Spring框架中,IoC(控制反轉)和AOP(面向切面編程)是兩個非常重要的概念。 1. IoC(控制反轉) IoC是一種設計模式,主要用於改進代碼的可維護性和可測試性。在IoC中...