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

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

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