多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > 調(diào)侃《Head first設(shè)計模式》之適配器模式

調(diào)侃《Head first設(shè)計模式》之適配器模式

來源:程序員人生   發(fā)布時間:2015-05-26 08:06:16 閱讀次數(shù):3156次

     你需要在歐洲使用美國制造的筆記本,但是插口和電壓的不1導致得你需要1個叫做適配器的東西,如圖:

  


    通過適配器,我們就能夠?qū)⒈緛聿豢梢哉{(diào)和合作的兩種事物聯(lián)系在1起了。

   那面向?qū)ο蟮倪m配器又是甚么呢?其實,OO適配器和真實世界的適配器扮演著相同的角色:將1個接口轉(zhuǎn)換為另外一個接口,以符適用戶的期望。

   可以簡單地用下圖理解適配器:

   

   

   現(xiàn)在我們來1個有趣的例子開始進入代碼講授:

   首先鴨子的接口是這樣的:

   


   綠頭鴨的類:

   

   而火雞的接口是這樣的的:

   

   有這樣1種火雞:

   

   有1只火雞想冒充鴨子,但是它不會quack,只會gobble,咋辦呢?

   寫個適配器類吧,正如將美國插頭冒充為歐洲的那樣~~

   

   適配器要實現(xiàn)Duck接口,就像插頭適配器本身也是1個插頭,重點在于,在調(diào)用本來屬于鴨子的方法的時候?qū)嵸|(zhì)上調(diào)用了火雞的方法!

   客戶端測試1下:

   

   testDuck方法只認鴨子,但是它沒想到1只冒充鴨子的火雞混入其中,也裝腔作勢地像鴨子1樣叫和飛。


   讓我們結(jié)合兩個例子來解析適配器模式。testDuck方法類似歐洲的插座,它只認歐洲的插頭,適配器固然就是我們的火雞鴨子適配器類了,美國插頭就像火雞,通過適配器,將美國插頭假裝成歐洲插頭。

  

   看看官方的定義:

   適配器模式將1個類的接口,轉(zhuǎn)換成客戶期望的另外一個類的接口。適配器讓本來接口不兼容的類可以合作無間。

   看看類圖:

   

    客戶只看到目標接口,正如testDuck方法只看到Duck,而歐洲插座只看到歐洲的插頭1樣,適配器就是把被適配者轉(zhuǎn)換為目標接口的樣子。

   適配器模式充滿著良好的OO設(shè)計原則:使用對象組合,已修改的接口包裝被適配者。另外的優(yōu)點是被適配者的子類,都可以搭配適配器使用。

   適配器模式在實踐中的使用處合:想使用1個已存在的類,但是如果它的方法和你的要求不同時,而你又不想更改客戶真?zhèn)€代碼時,可以斟酌使用適配器。比如:公司在設(shè)計1個系統(tǒng)斟酌使用第3方開發(fā)組件,而這個組件的接口和我們自己的系統(tǒng)接口不同,而我們也沒必要為了逢迎它而改變自己的接口,就能夠斟酌使用適配器模式來解決問題。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 毛片黄 | 在线碰碰视频在线观看 | 久久久久久免费播放一级毛片 | 国产三级精品三级在线专区1 | 亚洲小说春色综合另类小说 | 97久久综合区小说区图片专区 | 樱花aⅴ一区二区三区四区 影视精品网站入口 | 成人精品一区二区三区校园激情 | 欧美人在线 | 国产一二三区有声小说 | 最近高清中文字幕大全1 | 日韩欧美区 | 亚洲精品亚洲人成人网 | 国产又黄又免费aaaa视频 | 纯欧美一级毛片_免费 | 秋霞午夜一级理论片久久 | 亚洲日韩aⅴ在线视频 | 国产免费v片在线看 | 动漫一级毛片 | 日本不卡视频网站 | 亚洲国产精品激情在线观看 | 久久在线视频播放 | 久久a毛片 | 中文字幕看片在线a免费 | 国产三级观看久久 | 亚洲色图男人天堂 | 91亚洲精品一区二区福利 | 亚洲欧美日韩精品久久久 | 91不卡视频 | 欧美性一区二区三区五区 | 看大片免费网站 | www操操| 国产嫩草影院精品免费网址 | 色综合小说网 | 欧美jlzz18性欧美 | www.日本一区 | 国产亚洲精品久久久久久久久激情 | 五月亚洲 | 亚洲综合第一欧美日韩中文 | 视频在线观看免费网址 | 亚洲国产精品线播放 |