亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是php的適配器模式

發布時間:2021-01-15 16:57:56 來源:億速云 閱讀:182 作者:Leah 欄目:開發技術

什么是php的適配器模式?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

要點:

1. 適配器模式主要應用于“希望復用一些現存的類,但是接口又與復用環境要求不一致的情況”,在遺留代碼復用、類庫遷移等方面非常有用。

2. 適配器模式有對象適配器和類適配器兩種形式的實現結構,但是類適配器采用“多繼承”的實現方式,帶來了不良的高耦合,所以一般不推薦使用。對象適配器采用“對象組合”的方式,更符合松耦合精神。

實現:

什么是php的適配器模式

類的適配器模式結構圖(繼承)

什么是php的適配器模式

對象的適配器模式結構圖(組合)

(對象適配器的代碼實現)

Target:定義Client使用的與特定領域相關的接口

public interface Target { void request();}

Adaptee:現在需要適配的已經存在的接口

public class Adaptee{ public void specificRequest(){}}

Adapter:對Adaptee 的接口與Target接口進行適配

public class Adapter implements Target{ public Adapter(Adaptee adaptee) { super(); this.adaptee = adaptee; } public void request() { adaptee.specificRequest(); } private Adaptee adaptee;}

適用性:

1. 系統需要使用現有的類,而此類的接口不符合系統的需要。

2. 想要建立一個可以重復使用的類,用于與一些彼此之間沒有太大關聯的一些類,包括一些可能在將來引進的類一起工作。這些源類不一定有很復雜的接口。

3. (對對象適配器而言)在設計里,需要改變多個已有子類的接口,如果使用類的適配器模式,就要針對每一個子類做一個適配器,而這不太實際。

效果及優缺點:

對于類適配器:

1. 用一個具體的Adapter類對Adaptee和Taget進行匹配。結果是當我們想要匹配一個類以及所有它的子類時,類Adapter將不能勝任工作。

2. 使得Adapter可以override(重定義) Adaptee的部分行為,因為Adapter是Adaptee的一個子類。

對于對象適配器:

1. 允許一個Adapter與多個Adaptee,即Adaptee本身以及它的所有子類(如果有子類的話)同時工作。Adapter也可以一次給所有的Adaptee添加功能。

2. 使得override(重定義)Adaptee的行為比較困難。如果一定要override Adaptee的方法,就只好先做一個Adaptee的子類以override Adaptee的方法,然后再把這個子類當作真正的Adaptee源進行適配。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴马| 龙游县| 漳平市| 龙里县| 灵寿县| 牡丹江市| 北宁市| 客服| 鹤山市| 安溪县| 万荣县| 桂林市| 霍州市| 隆安县| 东海县| 合山市| 溧水县| 夏邑县| 昌都县| 凌海市| 呼玛县| 开平市| 贵阳市| 石嘴山市| 辽源市| 休宁县| 湘潭市| 石屏县| 百色市| 龙川县| 临澧县| 北碚区| 汝城县| 望奎县| 临泽县| 广水市| 浙江省| 乌什县| 邵武市| 裕民县| 莒南县|