国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

設計模式之適配器模式(Adapter)的C++實現(xiàn)

這篇具有很好參考價值的文章主要介紹了設計模式之適配器模式(Adapter)的C++實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、適配器模式的提出

在軟件功能開發(fā)中,由于使用環(huán)境的改變,之前一些類的舊接口放在新環(huán)境的功能模塊中不再適用。如何使舊接口能適用于新的環(huán)境?適配器可以解決此類問題。適配器模式:通過增加一個適配器類,在適配器接口中做一些適配操作,將舊模塊類轉換成使用者Client類期望的接口。

2、需求模式

有一個舊模塊類OlderMoudle,該類擁有一個OlderRequest接口,由于使用者Client環(huán)境的改變,之前Client不再能夠直接使用OlderRequest接口。設計Client能訪問OlderRequest接口的功能代碼。

3、適配器模式的代碼實現(xiàn)

(1)UML圖如下:

設計模式之適配器模式(Adapter)的C++實現(xiàn),設計模式,設計模式

(2)代碼實現(xiàn)如下:

#include <iostream>

class Target
{
public:
    virtual void request()=0;
    virtual ~Target(){};
};

class OlderMoudle
{
public:
    void OlderRequest()
    {
        std::cout << "OlderMoudle OlderRequest" << std::endl;
    }
};

class Adapter:public Target
{
private:
    OlderMoudle *m_pModule;
public:
    Adapter(OlderMoudle* p):m_pModule(p){};

    virtual void request() override
    {
        //... todo adapter
        std::cout << "Adapter request" << std::endl;
        m_pModule->OlderRequest();
    }
};
class Client
{
private:
    Target* m_pTarget = nullptr;
public:
    Client(OlderMoudle* p){
        m_pTarget = new Adapter(p);
    };
    void DoWork()
    {
        m_pTarget->request();
    }
    ~Client()
    {
        if(m_pTarget != nullptr)
        {
            std::cout << "Client ~Client" << std::endl;
            delete m_pTarget;
            m_pTarget = nullptr;
        }
    }
};

int main()
{
    OlderMoudle *pOlderModule = new OlderMoudle();
    Client obj(pOlderModule);
    obj.DoWork();

    delete pOlderModule;
    pOlderModule = nullptr;
    return 0;
}

程序運行結果如下:

設計模式之適配器模式(Adapter)的C++實現(xiàn),設計模式,設計模式文章來源地址http://www.zghlxwxcb.cn/news/detail-656854.html

到了這里,關于設計模式之適配器模式(Adapter)的C++實現(xiàn)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 設計模式(六)-----適配器模式(Adapter Pattern)

    設計模式(六)-----適配器模式(Adapter Pattern)

    適配器模式主要用于將一個類的接口轉化成客戶端希望的目標類格式,使得原本不兼容的類可以在一起工作,將目標類和適配者類解耦;同時也符合“開閉原則”,可以在不修改原代碼的基礎上增加新的適配器類;將具體的實現(xiàn)封裝在適配者類中,對于客戶端類來說是透明的

    2024年02月16日
    瀏覽(23)
  • 【24種設計模式】適配器模式(Adapter Pattern)

    適配器模式(Adapter Pattern)是一種結構型設計模式,它允許將一個類的接口轉換為客戶端所期望的另一個接口。適配器模式使得原本因接口不兼容而無法一起工作的類可以協(xié)同工作。 適配器模式通常由三個角色組成: 目標接口(Target Interface):客戶端所期望的接口,定義了

    2024年02月11日
    瀏覽(23)
  • 【設計模式——學習筆記】23種設計模式——適配器模式Adapter(原理講解+應用場景介紹+案例介紹+Java代碼實現(xiàn))

    【設計模式——學習筆記】23種設計模式——適配器模式Adapter(原理講解+應用場景介紹+案例介紹+Java代碼實現(xiàn))

    不同國家的插座不同,出國旅游充電器不能直接使用,可以通過使用 多功能轉換插頭 來輔助使用 適配器模式將某個類的接口轉換成客戶端期望的另一個接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個類可以協(xié)同工作。其別名為包裝器(Wrapper) 適配器模

    2024年02月16日
    瀏覽(22)
  • 【18】c++設計模式——>適配器模式

    c++的適配器模式是一種結構型設計模式, 他允許將一個類的接口轉換成另一個客戶端所期望的接口 。適配器模式常用于已存在的,但不符合新需求或者規(guī)范的類的適配。 在c++中實現(xiàn)適配器模式時,通常需要一下幾個組件: 1.目標接口(Target interface):客戶端所期望的接口,

    2024年02月07日
    瀏覽(24)
  • 《C++新經典設計模式》之第15章 適配器模式

    適配器模式.cpp

    2024年02月03日
    瀏覽(16)
  • 設計模式--適配器模式

    設計模式--適配器模式

    目錄 基本介紹 工作原理 類適配模式 介紹 應用實例介紹 類適配器模式注意事項和細節(jié) 對象適配模式 介紹 對象適配器模式注意事項和細節(jié) 接口適配器模式 介紹 適配器模式的注意事項和細節(jié) ?(1) 適配器模式(Adapter Pattern) 將某個類的接口轉換成客戶端期望的另一個接口表示

    2023年04月26日
    瀏覽(19)
  • 設計模式——適配器模式

    設計模式——適配器模式

    說起適配器其實在我們的生活中是非常常見的,比如:學校的宿舍的電壓都比較低,而有的學生想使用大功率電器,宿舍的就會跳閘,然而如果你使用一個適配器(變壓器)就可以使用了(溫馨提示宿舍使用大功率電器不太安全,容易引起火災,希望大家謹慎使用)。 又比如

    2024年02月12日
    瀏覽(35)
  • 設計模式-適配器模式

    設計模式-適配器模式

    在我們生活中,插座輸出的電源都是220V的,而我們手機充電需要的電壓基本都是5V的。我們不能直接用220V的電壓來給手機充電,也不能說專門有線路來提供5V的電壓。所以就有了充電器,充電器可以將220V的電壓轉為5V的電壓,這樣我們就方便太多了。 上面所說的充電器其實就

    2024年02月08日
    瀏覽(34)
  • 【設計模式】適配器模式

    【設計模式】適配器模式

    適配器模式(Adapter Pattern)是作為兩個不兼容的接口之間的橋梁。這種類型的設計模式屬于結構型模式,它結合了兩個獨立接口的功能。 這種模式涉及到一個單一的類,該類負責加入獨立的或不兼容的接口功能。舉個真實的例子,讀卡器是作為內存卡和筆記本之間的適配器。

    2024年02月12日
    瀏覽(32)
  • 設計模式四:適配器模式

    設計模式四:適配器模式

    1、適配器模式的理解 適配器模式可以理解為有兩個現(xiàn)成的類Adaptee和Target,它們兩個是不能動的,要求必須使用B這個類來實現(xiàn)一個功能,但是A的內容是能復用的,這個時候我們需要編寫一個轉換器 適配器模式 Adaptee:被適配者,現(xiàn)有的接口或者類; Adapter:適配器類,適配器

    2024年02月22日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包