摘要:適配器模式就好比手機(jī)的轉(zhuǎn)換器一樣。還有的庫(kù)也有很多也是適配器模式應(yīng)用的場(chǎng)景。總結(jié)與分析適配器模式的主要目的是組合兩個(gè)不相干的類,在不改變?cè)邢到y(tǒng)的基礎(chǔ)上,提供新的接口服務(wù)。代碼實(shí)現(xiàn)適配器模式
適配器模式 概述
在開發(fā)過(guò)程會(huì)遇到有兩個(gè)項(xiàng)目,A項(xiàng)目想調(diào)用B項(xiàng)目的接口,然而兩個(gè)項(xiàng)目并沒(méi)有做兼容。適配器模式就將一個(gè)類的接口,轉(zhuǎn)換成客戶期望的另一個(gè)接口。適配器模式就好比IPhone手機(jī)的轉(zhuǎn)換器一樣。還有Javachoking的swing庫(kù)也有很多Adapter也是適配器模式應(yīng)用的場(chǎng)景。
實(shí)現(xiàn)實(shí)現(xiàn)使用適配Log類。當(dāng)Log實(shí)現(xiàn)了保存到文件的功能后,客戶想實(shí)現(xiàn)保存到數(shù)據(jù)庫(kù),使用適配器模式可以實(shí)現(xiàn)。
總結(jié)與分析適配器模式的主要目的是組合兩個(gè)不相干的類,在不改變?cè)邢到y(tǒng)的基礎(chǔ)上,提供新的接口服務(wù)。
代碼實(shí)現(xiàn):適配器模式(php/go)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/31218.html
背景介紹 之前在閱讀《JavaScript設(shè)計(jì)模式和開發(fā)實(shí)踐》這本書的時(shí)候,收貨頗豐,學(xué)習(xí)了設(shè)計(jì)模式在很多場(chǎng)景下的應(yīng)用。 但也是因?yàn)闀蠄?chǎng)景過(guò)多,所以當(dāng)記不清某一種設(shè)計(jì)模式的時(shí)候,翻書溫習(xí)復(fù)雜案例的成本是相對(duì)較高的。有時(shí)候,只需要一段經(jīng)典、簡(jiǎn)潔的demo就可以迅速回顧起精髓,在快速業(yè)務(wù)開發(fā)中,這是個(gè)比較經(jīng)濟(jì)的做法。 除此之外,當(dāng)主要工作語(yǔ)言發(fā)生變化的時(shí)候(例如:js -> python),簡(jiǎn)潔的d...
摘要:與門面模式的聯(lián)系本文要說(shuō)的適配器模式和上一篇門面模式在思想上有相似之處,所以放在一起說(shuō)。我們以中的一個(gè)為例,說(shuō)說(shuō)實(shí)際應(yīng)用中的適配器模式的使用方法。而如果實(shí)現(xiàn)層的問(wèn)題不大,要解決一部分適配問(wèn)題的話,適配器模式就是很好的選擇了。 與門面模式的聯(lián)系 本文要說(shuō)的適配器模式和上一篇門面模式在思想上有相似之處,所以放在一起說(shuō)。它們都對(duì)類的接口進(jìn)行了一些改變。門面模式是把相似的或是完成相關(guān)任務(wù)的接...
摘要:定義和類型定義將一個(gè)類的接口轉(zhuǎn)換成客戶期望的另一個(gè)接口,適配器模式讓那些不兼容的類可以一起工作。類型結(jié)構(gòu)型類適配器模式類適配器模式使用繼承的方式去實(shí)現(xiàn)接口適配。它是適配器模式的核心。 0x01.定義和類型 定義:將一個(gè)類的接口轉(zhuǎn)換成客戶期望的另一個(gè)接口,適配器模式讓那些不兼容的類可以一起工作。 類型:結(jié)構(gòu)型 a.類適配器模式 類適配器模式:使用繼承的方式去實(shí)現(xiàn)接口適配。 UML:...
摘要:相關(guān)設(shè)計(jì)模式裝飾者模式和代理模式裝飾者模式關(guān)注再一個(gè)對(duì)象上動(dòng)態(tài)添加方法代理模式關(guān)注再對(duì)代理對(duì)象的控制訪問(wèn),可以對(duì)客戶隱藏被代理類的信息裝飾著模式和適配器模式都叫包裝模式關(guān)于新職責(zé)適配器也可以在轉(zhuǎn)換時(shí)增加新的職責(zé),但主要目的不在此。 0x01.定義與類型 定義:裝飾模式指的是在不必改變?cè)愇募褪褂美^承的情況下,動(dòng)態(tài)地?cái)U(kuò)展一個(gè)對(duì)象的功能。它是通過(guò)創(chuàng)建一個(gè)包裝對(duì)象,也就是裝飾來(lái)包裹真實(shí)的...
摘要:橋接模式中的所謂脫耦,就是指在一個(gè)軟件系統(tǒng)的抽象化和實(shí)現(xiàn)化之間使用關(guān)聯(lián)關(guān)系組合或者聚合關(guān)系而不是繼承關(guān)系,從而使兩者可以相對(duì)獨(dú)立地變化,這就是橋接模式的用意。 0x01.定義與類型 定義:將抽象部分與它的具體實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。 橋接模式將繼承關(guān)系轉(zhuǎn)化成關(guān)聯(lián)關(guān)系,它降低了類與類之間的耦合度,減少了系統(tǒng)中類的數(shù)量,也減少了代碼量。 橋接模式中的所謂脫耦,就是指在一個(gè)軟...
閱讀 3197·2023-04-26 01:39
閱讀 3351·2023-04-25 18:09
閱讀 1621·2021-10-08 10:05
閱讀 3237·2021-09-22 15:45
閱讀 2784·2019-08-30 15:55
閱讀 2398·2019-08-30 15:54
閱讀 3173·2019-08-30 15:53
閱讀 1331·2019-08-29 12:32