最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php適配器模式介紹

 更新時間:2012年08月14日 09:12:52   作者:  
Adapter(別名Wrapper)模式:將一個類的接口,轉換成客戶期望的另一個類的接口。適配器讓原本接口不兼容的類可以合作無間

要點:

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

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

實現(xiàn):

clip_image002

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

clip_image004

 

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

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

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

public interface Target { void request();}

 

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

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. 系統(tǒng)需要使用現(xiàn)有的類,而此類的接口不符合系統(tǒng)的需要。

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

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

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

對于類適配器:

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 Notice: Undefined index 錯誤提示解決方法

    php Notice: Undefined index 錯誤提示解決方法

    字面意思就是未定義的索引,一般情況下是因為程序開發(fā)作者判斷不嚴謹導致。一般不會影響程序的運行,具體的解決方法可以參考下。
    2010-08-08
  • 利用php繪制餅狀圖的實現(xiàn)代碼

    利用php繪制餅狀圖的實現(xiàn)代碼

    本篇文章是對使用php繪制餅狀圖的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 詳解PHP解決守護進程Redis假死

    詳解PHP解決守護進程Redis假死

    公司業(yè)務有一個常駐后臺運行的守護進程。在這個守護進程當中使用了 Redis List 結構保存業(yè)務數(shù)據(jù)進行隊列消費。結果運行過程中,有時候半個月,有時候幾個月就會突然不再消費隊列里面的數(shù)據(jù)。我們發(fā)現(xiàn)進行心中檢測之后,程序的穩(wěn)定性大大提高。
    2021-06-06
  • WordPress開發(fā)中用于標題顯示的相關函數(shù)使用解析

    WordPress開發(fā)中用于標題顯示的相關函數(shù)使用解析

    這篇文章主要介紹了WordPress開發(fā)中用于標題顯示的相關函數(shù)使用解析,講解了single_cat_title函數(shù)和get_the_title函數(shù)和the_title函數(shù)的用法,需要的朋友可以參考下
    2016-01-01
  • 9個比較實用的php代碼片段

    9個比較實用的php代碼片段

    這篇文章主要介紹了9個非常有用的PHP代碼片段,可以幫助你開發(fā) PHP項目,下面這里收集了9個PHP代碼片段,感興趣的小伙伴們可以參考一下
    2016-03-03
  • PHP簡單實現(xiàn)遍歷目錄下特定文件的方法小結

    PHP簡單實現(xiàn)遍歷目錄下特定文件的方法小結

    這篇文章主要介紹了PHP簡單實現(xiàn)遍歷目錄下特定文件的方法,結合2個簡單實例總結分析了php針對目錄下指定文件的遍歷查詢操作技巧,需要的朋友可以參考下
    2017-05-05
  • PHP設計模式之裝飾器模式實例詳解

    PHP設計模式之裝飾器模式實例詳解

    這篇文章主要介紹了PHP設計模式之裝飾器模式,簡單介紹了裝飾器模式的概念、功能并結合實例形式詳細分析了php實現(xiàn)與使用裝飾器模式的相關操作技巧,需要的朋友可以參考下
    2018-02-02
  • php實現(xiàn)36進制與10進制轉換功能示例

    php實現(xiàn)36進制與10進制轉換功能示例

    這篇文章主要介紹了php實現(xiàn)36進制與10進制轉換功能,結合實例形式分析了php數(shù)值運算與字符串操作的相關技巧,需要的朋友可以參考下
    2017-01-01
  • smarty內置函數(shù){loteral}、{ldelim}和{rdelim}用法實例

    smarty內置函數(shù){loteral}、{ldelim}和{rdelim}用法實例

    這篇文章主要介紹了smarty內置函數(shù){loteral}、{ldelim}和{rdelim}用法,實例分析了{loteral}、{ldelim}和{rdelim}的功能及使用技巧,需要的朋友可以參考下
    2015-01-01
  • PHP自定義函數(shù)獲取漢字首字母的方法

    PHP自定義函數(shù)獲取漢字首字母的方法

    這篇文章主要介紹了PHP自定義函數(shù)獲取漢字首字母的方法,涉及php針對漢字的編碼轉換與判斷操作相關技巧,非常簡單實用,需要的朋友可以參考下
    2016-12-12

最新評論

龙游县| 连州市| 昌江| 潮安县| 黎平县| 安平县| 东丰县| 平谷区| 富裕县| 宁蒗| 波密县| 钟祥市| 抚顺市| 天气| 庆阳市| 重庆市| 楚雄市| 滁州市| 偏关县| 雷山县| 龙游县| 庆城县| 上虞市| 柯坪县| 庆云县| 阜平县| 沈丘县| 科技| 台前县| 平凉市| 小金县| 衡水市| 开封县| 九龙城区| 吴川市| 收藏| 蒙城县| 江川县| 延边| 尉氏县| 南岸区|