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

C++設(shè)計(jì)模式-橋接(Bridge)

這篇具有很好參考價(jià)值的文章主要介紹了C++設(shè)計(jì)模式-橋接(Bridge)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

C++設(shè)計(jì)模式-橋接(Bridge)

一、意圖

二、適用性

三、結(jié)構(gòu)

四、參與者

五、代碼


C++設(shè)計(jì)模式-橋接(Bridge)

一、意圖

將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。

二、適用性

  • 你不希望在抽象和它的實(shí)現(xiàn)部分之間有一個(gè)固定的綁定關(guān)系。例如這種情況可能是因?yàn)?,在程序運(yùn)行時(shí)刻實(shí)現(xiàn)部分應(yīng)可以被選擇或者切換。
  • 類(lèi)的抽象以及它的實(shí)現(xiàn)都應(yīng)該可以通過(guò)生成子類(lèi)的方法加以擴(kuò)充。這時(shí)Bridge模式使你可以對(duì)不同的抽象接口和實(shí)現(xiàn)部分進(jìn)行組合,并分別對(duì)它們進(jìn)行擴(kuò)充。
  • 對(duì)一個(gè)抽象的實(shí)現(xiàn)部分的修改應(yīng)對(duì)客戶不產(chǎn)生影響,即客戶的代碼不必重新編譯。
  • (C++)你想對(duì)客戶完全隱藏抽象的實(shí)現(xiàn)部分。在C++中,類(lèi)的表示在類(lèi)接口中是可見(jiàn)的。
  • 有許多類(lèi)要生成。這樣一種類(lèi)層次結(jié)構(gòu)說(shuō)明你必須將一個(gè)對(duì)象分解成兩個(gè)部分。Rumbaugh稱這種類(lèi)層次結(jié)構(gòu)為“嵌套的普化”(nested generalizations )。
  • 你想在多個(gè)對(duì)象間共享實(shí)現(xiàn)(可能使用引用計(jì)數(shù)),但同時(shí)要求客戶并不知道這一點(diǎn)。一個(gè)簡(jiǎn)單的例子便是Coplien的String類(lèi)[Cop92],在這個(gè)類(lèi)中多個(gè)對(duì)象可以共享同一個(gè)字符串表示(S tringRep)。

三、結(jié)構(gòu)

?C++設(shè)計(jì)模式-橋接(Bridge),設(shè)計(jì)模式(C++),c++,開(kāi)發(fā)語(yǔ)言,設(shè)計(jì)模式,橋接

四、參與者

  • Abstraction

????????定義抽象類(lèi)的接口。

????????維護(hù)一個(gè)指向Implementor類(lèi)型對(duì)象的指針。

  • RefinedAbstraction

????????擴(kuò)充由Abstraction定義的接口。

  • Implementor

????????定義實(shí)現(xiàn)類(lèi)的接口,該接口不一定要與Abstraction的接口完全一致;事實(shí)上這兩個(gè)接口可以完全不同。一般來(lái)講,Implementor接口僅提供基本操作,而Abstraction則定義了基本這些基本操作的較高層次的操作。

  • ConcreteImplementor

????????實(shí)現(xiàn)了Implementor接口并定義它的具體實(shí)現(xiàn)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-728368.html

五、代碼

#include<iostream>
using namespace std;

class Implementor {
public:
	virtual void OperationImp() = 0;
};

class ConcreteImplementorA : public Implementor {
public:
	virtual void OperationImp() {
		cout << "Concrete Implementor A" << endl;
	}
};

class ConcreteImplementorB : public Implementor {
public:
	virtual void OperationImp() {
		cout << "Concrete Implementor B" << endl;
	}
};

class Abstraction {
public:
	virtual void Operation() = 0;
};

class RefinedAbstraction : public Abstraction {
public:
	RefinedAbstraction(Implementor* TempImplementor) {
		this->implementor = TempImplementor;
	}
	void Operation() {
		implementor->OperationImp();
	}
private:
	Implementor* implementor;
};

int main() {
	
	Implementor* implementorA = new ConcreteImplementorA;
	Abstraction* abstractionA = new RefinedAbstraction(implementorA);
	abstractionA->Operation();

	Implementor* implementorB = new ConcreteImplementorB;
	Abstraction* abstractionB = new RefinedAbstraction(implementorB);
	abstractionB->Operation();

	return 0;
}

到了這里,關(guān)于C++設(shè)計(jì)模式-橋接(Bridge)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 設(shè)計(jì)模式之Bridge模式的C++實(shí)現(xiàn)

    設(shè)計(jì)模式之Bridge模式的C++實(shí)現(xiàn)

    目錄 1、Bridge模式的提出 2、Bridge模式的定義 3、Bridge模式總結(jié) 4、需求描述 5、多繼承方式實(shí)現(xiàn) 6、使用Bridge設(shè)計(jì)模式實(shí)現(xiàn) ? ? ? ? 在軟件功能模塊設(shè)計(jì)中,如果類(lèi)的實(shí)現(xiàn)功能劃分不清晰,使得繼承得到的子類(lèi)往往是隨著需求的變化,子類(lèi)急劇膨脹,充斥重復(fù)代碼。將類(lèi)要實(shí)現(xiàn)

    2024年02月13日
    瀏覽(23)
  • 設(shè)計(jì)模式詳解-橋接模式

    類(lèi)型:結(jié)構(gòu)型模式 實(shí)現(xiàn)原理:將抽象類(lèi)和實(shí)現(xiàn)類(lèi)分離,使其獨(dú)立,然后使用接口再將二者連接起來(lái)。 意圖:將抽象部分與實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立的變化。 主要解決:類(lèi)變化頻繁時(shí)用繼承可能會(huì)出現(xiàn)的類(lèi)爆炸問(wèn)題。 如何解決:減少類(lèi)的耦合關(guān)系,讓類(lèi)獨(dú)立變化。

    2024年02月12日
    瀏覽(23)
  • 設(shè)計(jì)模式之~橋接模式

    設(shè)計(jì)模式之~橋接模式

    橋接模式: ????????將抽象部分與它的實(shí)現(xiàn)部分分離,使他們都可以獨(dú)立地變化。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它通過(guò)提供抽象化和實(shí)現(xiàn)化之間的橋接結(jié)構(gòu),來(lái)實(shí)現(xiàn)二者的解耦。 ????????什么叫抽象與它的實(shí)現(xiàn)分離,這并不是說(shuō),讓抽象類(lèi)與其派生類(lèi)分離,因

    2024年02月07日
    瀏覽(18)
  • 設(shè)計(jì)模式——橋接模式

    設(shè)計(jì)模式——橋接模式

    引用 橋 我們大家都熟悉,顧名思義就是用來(lái)將河的兩岸聯(lián)系起來(lái)的。而此處的橋是用來(lái)將兩個(gè)獨(dú)立的結(jié)構(gòu)聯(lián)系起來(lái),而這兩個(gè)被聯(lián)系起來(lái)的結(jié)構(gòu)可以獨(dú)立的變化,所有其他的理解只要建立在這個(gè)層面上就會(huì)比較容易。 基本介紹 橋接模式(Bridge)是指將實(shí)現(xiàn)與抽象放在兩個(gè)不

    2024年02月12日
    瀏覽(23)
  • 設(shè)計(jì)模式——橋接模式詳解

    設(shè)計(jì)模式——橋接模式詳解

    1.1?橋接模式的定義 維基百科: 橋接模式 是軟件設(shè)計(jì)模式中最復(fù)雜的模式之一,它把事物對(duì)象和其具體行為、具體特征分離開(kāi)來(lái),使它們可以各自獨(dú)立的變化。 百度百科: 橋接模式 是將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。它是一種對(duì)象結(jié)構(gòu)型模式,

    2024年02月06日
    瀏覽(20)
  • 設(shè)計(jì)模式 07 橋接模式

    橋接模式(Bridge Pattern)屬于 結(jié)構(gòu)型 模式 橋接模式是將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。它是一種對(duì)象結(jié)構(gòu)型模式,又稱為 柄體 (Handle and Body)模式或 接口 (Interface)模式。 比如需要?jiǎng)?chuàng)建電腦對(duì)象,市面上的電腦非常多, 品牌 有華為、蘋(píng)果、聯(lián)

    2024年02月11日
    瀏覽(15)
  • 設(shè)計(jì)模式:橋接模式

    橋接模式(Bridge Pattern):旨在將抽象部分和實(shí)現(xiàn)部分解耦,使它們可以獨(dú)立地變化。這種模式通過(guò)將抽象和實(shí)現(xiàn)分離,使它們可以獨(dú)立地進(jìn)行擴(kuò)展和修改,而不會(huì)相互影響。它是一種對(duì)象結(jié)構(gòu)型模式,又稱為柄體(Handle and Body)模式或接口(Interface)模式。 假如需要使用大

    2024年01月25日
    瀏覽(15)
  • 【設(shè)計(jì)模式】橋接模式

    【設(shè)計(jì)模式】橋接模式

    橋接(Bridge)是用于把抽象化與實(shí)現(xiàn)化解耦,使得二者可以獨(dú)立變化。這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它通過(guò)提供抽象化和實(shí)現(xiàn)化之間的橋接結(jié)構(gòu),來(lái)實(shí)現(xiàn)二者的解耦。 這種模式涉及到一個(gè)作為橋接的接口,使得實(shí)體類(lèi)的功能獨(dú)立于接口實(shí)現(xiàn)類(lèi),這兩種類(lèi)型的類(lèi)可被結(jié)

    2024年02月13日
    瀏覽(22)
  • 設(shè)計(jì)模式-橋接模式

    設(shè)計(jì)模式-橋接模式

    適配器模式 類(lèi)似,以后也會(huì)遇到意思接近一樣的設(shè)計(jì)模式。在開(kāi)發(fā)中一般多個(gè)模式混用,且根據(jù)不同的場(chǎng)景進(jìn)行搭配,橋接模式也是 結(jié)構(gòu)型模式 將抽象的部分和實(shí)現(xiàn)的部分分離,使它們都可以獨(dú)立的變化。通俗來(lái)說(shuō),就是通過(guò)組合來(lái) 橋接 其它的 行為或維度 與適配器模式業(yè)

    2024年02月11日
    瀏覽(25)
  • 【前端設(shè)計(jì)模式】之橋接模式

    【前端設(shè)計(jì)模式】之橋接模式

    設(shè)計(jì)模式是在軟件開(kāi)發(fā)中經(jīng)過(guò)驗(yàn)證的解決問(wèn)題的方法。它們是從經(jīng)驗(yàn)中總結(jié)出來(lái)的,可以幫助我們更好地組織和管理代碼,提高代碼的可維護(hù)性、可擴(kuò)展性和可重用性。無(wú)論是前端還是后端開(kāi)發(fā),設(shè)計(jì)模式都扮演著重要的角色。在本專欄中,我們將探索一些常見(jiàn)的前端設(shè)計(jì)模

    2024年02月04日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包