一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是適配器模式?怎樣使用適配器模式進(jìn)行貨幣轉(zhuǎn)換?

冬至子 ? 來(lái)源:攻城獅奶爸雜貨鋪 ? 作者:ChatGPT ? 2023-07-19 14:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在軟件開(kāi)發(fā)中,通常使用具有不兼容接口的現(xiàn)有代碼或外部庫(kù)。 適配器模式提供了一個(gè)優(yōu)雅的解決方案,充當(dāng)不兼容接口之間的橋梁,無(wú)需修改現(xiàn)有代碼即可實(shí)現(xiàn)無(wú)縫集成。 在這篇博文中,我們將深入研究 Python 中的適配器模式,并通過(guò)實(shí)際示例探索其實(shí)現(xiàn)。

什么是適配器模式?

適配器模式是一種結(jié)構(gòu)設(shè)計(jì)模式,允許具有不兼容接口的對(duì)象通過(guò)提供通用接口來(lái)進(jìn)行協(xié)作。 它充當(dāng)適配器或橋梁,將請(qǐng)求從一個(gè)接口轉(zhuǎn)換到另一個(gè)接口。 通過(guò)使用適配器,我們可以使不同的接口協(xié)同工作,而無(wú)需修改其底層實(shí)現(xiàn)。

適配器模式的關(guān)鍵組成部分:

  1. Target:定義客戶(hù)端代碼期望與之交互的接口。
  2. Adapter:實(shí)現(xiàn)Target接口并包裝Adaptee對(duì)象。 它將來(lái)自目標(biāo)接口的請(qǐng)求轉(zhuǎn)換為適應(yīng)者接口。

3、Adaptee:代表現(xiàn)有的或不兼容的接口,需要與Target接口集成。

使用適配器模式的好處包括:

  1. 無(wú)縫集成:適配器模式通過(guò)提供通用接口來(lái)集成現(xiàn)有或不兼容的代碼,從而避免大量修改。
  2. 代碼復(fù)用:適配器可以在不同場(chǎng)景下復(fù)用,實(shí)現(xiàn)多個(gè)接口的高效集成。
  3. 松散耦合:適配器模式促進(jìn)了組件之間的松散耦合,因?yàn)榭蛻?hù)端代碼與目標(biāo)接口交互而無(wú)需了解底層實(shí)現(xiàn)細(xì)節(jié)。

演示:使用適配器模式進(jìn)行貨幣轉(zhuǎn)換

讓我們深入研究一個(gè)示例以更好地理解適配器模式。 想象一下一個(gè)應(yīng)用程序需要使用不同的貨幣匯率 API 來(lái)轉(zhuǎn)換貨幣。 我們將創(chuàng)建一個(gè)CurrencyConverter 類(lèi)作為T(mén)arget,一個(gè)APIAdapter 類(lèi)作為Adapter,并創(chuàng)建外部貨幣匯率API 作為Adaptee。

class CurrencyConverter:


    def convert(self, amount):


        raise NotImplementedError


class APIAdapter(CurrencyConverter):


    def __init__(self, adaptee):


        self.adaptee = adaptee


    def convert(self, amount):


        rate = self.adaptee.get_exchange_rate()


        converted_amount = amount * rate


        return converted_amount


class ExternalAPI:


    def get_exchange_rate(self):


        # Make API call and retrieve the exchange rate


        rate = 1.5  # Sample value


        return rate

在此示例中,CurrencyConverter 類(lèi)表示客戶(hù)端代碼與之交互的 Target 接口。 APIAdapter 類(lèi)充當(dāng)適配器,實(shí)現(xiàn)CurrencyConverter 接口并包裝ExternalAPI 對(duì)象。 ExternalAPI 類(lèi)表示提供貨幣匯率的現(xiàn)有或不兼容的接口。

現(xiàn)在,讓我們看看如何使用CurrencyConverter和適配器:

api = ExternalAPI()


adapter = APIAdapter(api)


amount = 100


converted_amount = adapter.convert(amount)


print(converted_amount)


# Output: 150.0 (assuming the exchange rate is 1.5)

通過(guò)利用適配器模式,我們將外部貨幣匯率與我們的CurrencyConverter類(lèi)無(wú)縫集成,從而無(wú)需修改現(xiàn)有代碼即可進(jìn)行貨幣轉(zhuǎn)換。

適配器模式充當(dāng)不兼容接口之間的橋梁,實(shí)現(xiàn)不同組件之間的無(wú)縫集成和協(xié)作。 通過(guò)用適配器包裝不兼容的接口,我們?cè)诓恍薷牡讓訉?shí)現(xiàn)的情況下實(shí)現(xiàn)了統(tǒng)一兼容的接口。

在這篇博文中,我們探討了 Python 中適配器模式的基礎(chǔ)知識(shí),并通過(guò)貨幣轉(zhuǎn)換示例演示了其實(shí)現(xiàn)。 然而,適配器模式的適用性遠(yuǎn)遠(yuǎn)超出了API集成,可以用于涉及接口兼容性挑戰(zhàn)的各種場(chǎng)景。

請(qǐng)記住,設(shè)計(jì)模式是幫助軟件設(shè)計(jì)的寶貴工具,它們的使用應(yīng)基于您的特定集成要求。在項(xiàng)目中充分了解適配器模式后,您將能夠簡(jiǎn)化不兼容接口的集成。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 適配器
    +關(guān)注

    關(guān)注

    9

    文章

    2054

    瀏覽量

    69732
  • 耦合器
    +關(guān)注

    關(guān)注

    8

    文章

    735

    瀏覽量

    61081
  • API接口
    +關(guān)注

    關(guān)注

    1

    文章

    85

    瀏覽量

    10881
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    適配器模式和代理模式的區(qū)別

    對(duì)象可以在客戶(hù)端和目標(biāo)對(duì)象之間起到中介的作用,這樣起到了中介的作用和保護(hù)了目標(biāo)對(duì)象的作用?! 。?)高擴(kuò)展性    適配器模式  在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱(chēng)包裝樣式或者包裝
    發(fā)表于 10-22 15:17

    適配器模式實(shí)現(xiàn)

    目錄第一章 適配器模式介紹第二章 適配器模式實(shí)現(xiàn)(類(lèi)適配器)2.1、關(guān)系依賴(lài)圖2.2、創(chuàng)建交流電2.3、定義直流電2.4、創(chuàng)建充電器2.5、
    發(fā)表于 09-15 07:11

    適配器模式的作用

    適配器模式的作用是解決兩個(gè)軟件實(shí)體間的接口不兼容的問(wèn)題。使用適配器模式之后,原本由于接口不兼容而不能工作的兩個(gè)軟件實(shí)體可以一起工作。港式插頭轉(zhuǎn)換
    發(fā)表于 11-11 06:30

    缺省適配器模式基本概念

    就可以有選擇的覆蓋父類(lèi)的某些方法實(shí)現(xiàn)需求,它適用于一個(gè)接口不想使用所有的方法的情況。在java8后,接口中可以有default方法,就不需要這種缺省適配器模式了。接口中方法都設(shè)置為default,實(shí)現(xiàn)為空,這樣同樣同樣可以達(dá)到缺省適配器
    發(fā)表于 11-11 07:53

    對(duì)象適配器模式基本概念

    實(shí)例的方法。1.2 類(lèi)圖如上圖,與類(lèi)適配器模式不同的是,Adapter只實(shí)現(xiàn)了Target的接口,沒(méi)有繼承Adaptee,而是使用聚合的方式引用adaptee。二、電壓轉(zhuǎn)換例子說(shuō)明2.1 需求一張圖說(shuō)明需求:嗯,就是電源
    發(fā)表于 11-11 07:09

    什么是硬件適配器模式

    硬件適配器模式提供一種方法,使已經(jīng)存在的硬件接口能適應(yīng)應(yīng)用期望。當(dāng)應(yīng)用需要使用一個(gè)接口而硬件提供另一種時(shí),硬件適配器模式創(chuàng)建元素在兩個(gè)接口之間進(jìn)行
    發(fā)表于 12-21 07:55

    適配器模式、裝飾器模式、代理模式的區(qū)別

    適配器模式、裝飾器模式、代理模式都屬于設(shè)計(jì)模式中的結(jié)構(gòu)型模式,結(jié)構(gòu)型設(shè)計(jì)
    發(fā)表于 10-18 15:53 ?1.7w次閱讀
    <b class='flag-5'>適配器</b><b class='flag-5'>模式</b>、裝飾器<b class='flag-5'>模式</b>、代理<b class='flag-5'>模式</b>的區(qū)別

    適配器模式和代理模式的區(qū)別

    適配器模式適配器模式有時(shí)候也稱(chēng)包裝樣式或者包裝。將一個(gè)類(lèi)的接口轉(zhuǎn)接成用戶(hù)所期待的。代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。
    發(fā)表于 01-12 11:56 ?5407次閱讀
    <b class='flag-5'>適配器</b><b class='flag-5'>模式</b>和代理<b class='flag-5'>模式</b>的區(qū)別

    java適配器模式實(shí)例

    java適配器模式將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)想要的另一個(gè)接口,適配器模式使得原本由于接口不兼容而不能一起工作的那些類(lèi)可以一起工作。
    發(fā)表于 01-15 11:00 ?3934次閱讀

    JavaScript設(shè)計(jì)模式適配器模式

    適配器模式的作用是解決兩個(gè)軟件實(shí)體間的接口不兼容的問(wèn)題。使用適配器模式之后,原本由于接口不兼容而不能工作的兩個(gè)軟件實(shí)體可以一起工作。港式插頭轉(zhuǎn)換
    發(fā)表于 11-06 16:21 ?5次下載
    JavaScript設(shè)計(jì)<b class='flag-5'>模式</b>之<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>

    大話設(shè)計(jì)模式之愛(ài)你一萬(wàn)年:第六章 結(jié)構(gòu)型模式適配器模式:i7愛(ài)妻:為愛(ài)找份工作:3.適配器模式之對(duì)象適配器

    實(shí)例的方法。1.2 類(lèi)圖如上圖,與類(lèi)適配器模式不同的是,Adapter只實(shí)現(xiàn)了Target的接口,沒(méi)有繼承Adaptee,而是使用聚合的方式引用adaptee。二、電壓轉(zhuǎn)換例子說(shuō)明2.1 需求一張圖說(shuō)明需求:嗯,就是電源
    發(fā)表于 11-06 19:51 ?12次下載
    大話設(shè)計(jì)<b class='flag-5'>模式</b>之愛(ài)你一萬(wàn)年:第六章 結(jié)構(gòu)型<b class='flag-5'>模式</b>:<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>:i7愛(ài)妻:為愛(ài)找份工作:3.<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>之對(duì)象<b class='flag-5'>適配器</b>

    設(shè)計(jì)模式-適配器模式-以電壓適配器為例

    超級(jí)鏈接: Java常用設(shè)計(jì)模式的實(shí)例學(xué)習(xí)系列-緒論參考:《HeadFirst設(shè)計(jì)模式》1.關(guān)于適配器模式適配器
    發(fā)表于 11-07 09:36 ?17次下載
    設(shè)計(jì)<b class='flag-5'>模式</b>-<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>-以電壓<b class='flag-5'>適配器</b>為例

    設(shè)計(jì)模式中什么是適配器模式

    適配器模式(Adapter),將一個(gè)類(lèi)的接口適配成用戶(hù)所期待的。
    的頭像 發(fā)表于 08-02 10:00 ?1131次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b>中什么是<b class='flag-5'>適配器</b><b class='flag-5'>模式</b>?

    適配器是什么?適配器模式有幾種常見(jiàn)的類(lèi)型?

    適配器是什么?適配器模式有幾種常見(jiàn)的類(lèi)型? 適配器是一個(gè)接口轉(zhuǎn)換器,它可以是一個(gè)獨(dú)立的硬件接口設(shè)備,允許硬件或電子接口與其它硬件或電子接口相
    的頭像 發(fā)表于 12-11 11:26 ?2278次閱讀

    什么是電源適配器轉(zhuǎn)換效率?轉(zhuǎn)換效率對(duì)電源適配器有何影響?

    什么是電源適配器轉(zhuǎn)換效率?轉(zhuǎn)換效率對(duì)電源適配器有何影響?如何提高電源適配器轉(zhuǎn)換效率? 電源
    的頭像 發(fā)表于 01-30 16:46 ?2325次閱讀