国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php適配器模式介紹

2024-05-04 23:14:26
字體:
供稿:網(wǎng)友

要點:

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

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

實現(xiàn):

php適配器模式介紹

 

對象的適配器模式結(jié)構(gòu)圖(組合)

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

Target:定義Client使用的與特定領(lǐng)域相關(guān)的接口

public interface Target { void request();}

 

Adaptee:現(xiàn)在需要適配的已經(jīng)存在的接口

specificRequest(){}}

 

Adapter:對Adaptee 的接口與Target接口進(jìn)行適配

request() { adaptee.specificRequest(); } private Adaptee adaptee;}

 

適用性:

1. 系統(tǒng)需要使用現(xiàn)有的類,而此類的接口不符合系統(tǒng)的需要。

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

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

效果及優(yōu)缺點:

對于類適配器:

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

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

對于對象適配器:

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 施秉县| 太仆寺旗| 江安县| 密山市| 甘谷县| 伊川县| 浪卡子县| 桓台县| 鄢陵县| 黎城县| 禹城市| 中超| 栾城县| 博客| 合山市| 宝清县| 古交市| 乃东县| 宜黄县| 阿勒泰市| 利辛县| 宁强县| 石景山区| 阳春市| 砀山县| 富顺县| 东山县| 龙山县| 嘉定区| 绥中县| 通江县| 曲麻莱县| 旺苍县| 松江区| 甘洛县| 扎兰屯市| 梅州市| 新兴县| 寿宁县| 桦甸市| 沙河市|