在電腦程式設計中,適配器模式將一個類別的介面適配成使用者所期待的,一個適配允許通常因為介面不相容而不能在一起工作的類別工作在一起,做法是將類別自己的介麵包裹在一個已存在的類別中。
共有兩類適配器模式:
物件適配器模式
-- 在這種在適配器模式中,適配器容納一個它包裹的類別的實例。在這種情況下,適配器呼叫被包裹物件的實體。
類別適配器模式
-- 這種適配器模式下,適配器繼承自已實現的類別(一般多重繼承)。
解釋:
將一個類別的介面轉換成另一個客戶希望的介面。 Adapter模式使得原本因為介面不相容而無法一起工作的那些類別可以一起工作。
基本概念
客戶:需要呼叫我們的程式碼的物件。
Adapter模式的宗旨:保留現有類別所提供的服務,向客戶提供接口,以滿足客戶的期望。
主要內容
(1)類別適配器:
當客戶在介面中定義了他期望的行為時,我們就可以應用適配器模式,提供一個實作該介面的類,並且擴展已有的類,透過建立子類來實現適配。
下面是類別適配器的UML圖:
(2)物件適配器:
物件適配器」透過組合除了滿足「使用者期待介面」也降低了程式碼間的不良耦合。在工作中建議使用「物件適配器」。以下是物件適配器的UML圖:
#(3) 缺省適配器模式:
缺省適配器模式是一種特殊的適配器模式,但這個適配器是由一個抽象類別實現的,並且在抽象類別中要實現目標介面中所規定的所有方法,但很多方法的實現都是「平庸」的實現,也就是說,這些方法都是空方法。而具體的子類別都要繼承此抽象類別。
以上是適配器模式是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!