適配器模式 橋接模式(適配器模式和橋接模式的區(qū)別)

發(fā)布時(shí)間:2023-08-26
本文主要介紹適配器模式橋接模式(適配器模式和橋接模式之間的區(qū)別),下面一起看看適配器模式橋接模式(適配器模式和橋接模式之間的區(qū)別)相關(guān)資訊。
適配器模式:
//適配器模式將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)想要的另一個(gè)接口//接口層類(lèi)out接口{public:虛擬~ out接口=默認(rèn);//客戶(hù)希望實(shí)現(xiàn)的界面,例如:用戶(hù)希望一次性打印姓名、年齡、分?jǐn)?shù)虛擬void showinfomation= 0;};//驅(qū)動(dòng)類(lèi)驅(qū)動(dòng){public://the原接口名稱(chēng)、年齡、性能在不同的接口中實(shí)現(xiàn)。void showname(字符串名稱(chēng)){ cout ;nam: 姓名和名稱(chēng) endl};void showage(int age){ cout ;ag: 年齡與年齡 endl};void show score(int score){ cout ;scor: 得分與獎(jiǎng)金 endl};};//適配層class adapt: public out接口{public: virtual void show informationoverride { drive dr;博士秀名( 張三 );showage博士(24);showscore博士(100);}};test(adapter,adapter 1){ out interface * inc = new adapter;inc-show info mation;刪除inc}
橋接模式:
//抽象部分,外部接口,抽象產(chǎn)品//當(dāng)一個(gè)類(lèi)有兩個(gè)獨(dú)立變化的維度,并且兩個(gè)維度都需要擴(kuò)展時(shí)。//當(dāng)系統(tǒng)不想使用繼承或者由于多級(jí)繼承導(dǎo)致系統(tǒng)類(lèi)數(shù)量急劇增加時(shí)。//當(dāng)系統(tǒng)需要在組件的抽象角色和具體角色之間增加更多的靈活性時(shí)。//例1:畫(huà)一個(gè)正方形,一個(gè)圓形,一個(gè)長(zhǎng)方形。顏色:紅色、黑色、白色//色類(lèi)顏色{public:虛擬void fill color(string produce)= 0;virtual ~ color{ };};//shape class shape {protect:顏色* fillcolorpublic:形狀(顏色* usercolor):填充顏色(用戶(hù)顏色){ };虛擬void draw shape= 0;};//concrete shape類(lèi)rectangl: public shape {public: virtual void draw shapeoverride { fill color-fill color( 矩形 );} rectangle(color * user color):形狀(user color){ } };類(lèi)廣場(chǎng):公共形狀{public:虛擬void繪制形狀覆蓋{填充顏色-填充顏色( 廣場(chǎng) );} square(color * user color):形狀(user color){ } };類(lèi)白色:公共顏色{public:虛擬void fillcolor(字符串產(chǎn)生)覆蓋{ cout 入門(mén)級(jí)白色 _ _ func _ _ endlcout 白色 產(chǎn)生:公共顏色{public:虛擬void fillcolor(字符串產(chǎn)生)覆蓋{ cout 入門(mén)黑 _ _ func _ _ endlcout 黑色 產(chǎn)生endl;}};test(bridge_module,bridge 1){ color * w = new white;color * blk = new black;矩形rg(w);sq sq(黑色);sq。draw shape;rg。draw shape;}
代理模式:
類(lèi)服務(wù){(diào)public: int query data{//server,cout 這是服務(wù)數(shù)據(jù) endl返回0;}};//代理模式類(lèi)c proxy {privat: c proxy{ }靜態(tài)cproxy *實(shí)例;服務(wù)m _ serverpublic:靜態(tài)c proxy * getinstance{ if(instance = = nullptr){ instance = new c proxy;}返回實(shí)例;} static c proxy get proxy{ static c proxy single;退單;} int querydata {//代理訪問(wèn)服務(wù)器m_server。query data;返回0;}};c proxy * cproxy:: instance = nullptr;類(lèi)客戶(hù)端{(lán)public: void showdata{ c proxy * px = cproxy:: getinstance;px-query data;c proxy prx = cproxy: : getproxy;prx。query data;}};test(proxy,proxy1){客戶(hù)端cl;cl。showdata;}
輕量級(jí)模式
//享受元模式共享數(shù)據(jù)類(lèi)共享選項(xiàng){public echo 0-@ 。com虛擬void option= 0;};:公共sharedoption{public:虛擬void optionoverride { cout openation a key : m _ k: m _ k: string m _ key;};類(lèi)share factory {public: shared option * getshareopention(string open option key){ mapstring,shared option * : : iterator item = m _ option map . find(open option key);if(item = = m _ option map . end){ shared option * opt = new shared option a(opention key);m _ option map . insert(make _ pair(opention key,opt));返回opt} else { cout it: mapstring,sharedoption * m _ optionmap};test(shareddata,main){ share factory sf;sharedoption* opt1 = sf。getshareopention( 第一 );op t1-option;sharedoption* opt2 = sf。getshareopention( 二 );op t2-option;sharedoption* opt3 = sf。getshareopention( 三個(gè) );opt 3-option;股份認(rèn)購(gòu)n* opt4 = sf。getshareopention( 第一 );opt 4-option;sharedoption* opt5 = sf。getshareopention( 二 );opt 5-option;}
標(biāo)簽:
界面模式
了解更多適配器模式橋接模式(適配器模式和橋接模式之間的區(qū)別)相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。
上一個(gè):外屏碎了一個(gè)角有必要換嗎(換個(gè)外屏懷疑把我內(nèi)屏換了)
下一個(gè):西數(shù)固態(tài)硬盤(pán)哪個(gè)型號(hào)好,西數(shù)筆記本硬盤(pán)哪款好

小青柑 一杯一個(gè)溫暖的好心情
施工員需要掌握哪些知識(shí)?
win10藍(lán)屏0xc00000e9(win10藍(lán)屏0xc0000185怎么解決)
win11純凈正式版(windows 11精簡(jiǎn)版)
濃熱紅茶可防皮膚癌
植物組培生產(chǎn)商業(yè)化經(jīng)營(yíng)管理
電工急救知識(shí)有哪些?
qq新聞怎么關(guān)閉手機(jī),新版手機(jī)qq消息怎么退出
俄羅斯的茶炊
為什么申請(qǐng)域名?域名怎么申請(qǐng)?
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos