天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php適配器模式介紹

要點:

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

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

實現:

clip_image002

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

clip_image004

 

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

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

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源進行適配。

php技術php適配器模式介紹,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 蜜桃久久久亚洲精品成人 | 亚洲精品久久久992KVTV | 2017年伦理片免费观看 | 亚洲免费在线观看视频 | 日韩欧美视频一区 | 国产精品日本无码久久一老A | 国产自产第一区c国产 | 亚洲一卡久久4卡5卡6卡7卡 | 亚洲欧美自拍明星换脸 | 久久久性色精品国产免费观看 | 8X拨牐拨牐X8免费视频8 | 99久久久无码国产精品不卡按摩 | 国产欧美日韩网站 | 国产精品点击进入在线影院高清 | 亚洲熟伦熟女专区 | 芒果视频看片在线观看 | 欧美精品AV精品一区视频 | 东北成人社区 | 乱精品一区字幕二区 | 三级黄色网 | 一道精品视频一区二区 | 国产精品永久免费视频 | 扒开女人下面使劲桶动态图 | 日日干夜夜啪蕉视频 | 花蝴蝶高清观看免费 | 国产高清砖码区 | 国产精品国产三级国产专区53 | 91热久久免费频精品动漫99 | 沦为公交两奶头春药高潮迭起 | 欧美人成人亚洲专区中文字幕 | 久久黄色片 | 老湿机一区午夜精品免费福利 | 火影小南被爆羞羞网站 | 越南女子杂交内射BBWXZ | 暖暖日本在线手机免费完整版 | 美女视频黄色的 | 九九热精品视频在线观看 | 成人免费肉动漫无遮网站 | 国产白丝JK被疯狂输出视频 | 免费人成视频19674不收费 | 久久三级视频 |