适配器模式 桥接模式(适配器模式和桥接模式的区别)

发布时间:2023-08-26
本文主要介绍适配器模式桥接模式(适配器模式和桥接模式之间的区别),下面一起看看适配器模式桥接模式(适配器模式和桥接模式之间的区别)相关资讯。
适配器模式:
//适配器模式将一个类的接口转换成客户想要的另一个接口//接口层类out接口{public:虚拟~ out接口=默认;//客户希望实现的界面,例如:用户希望一次性打印姓名、年龄、分数虚拟void showinfomation= 0;};//驱动类驱动{public://the原接口名称、年龄、性能在不同的接口中实现。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}
桥接模式:
//抽象部分,外部接口,抽象产品//当一个类有两个独立变化的维度,并且两个维度都需要扩展时。//当系统不想使用继承或者由于多级继承导致系统类数量急剧增加时。//当系统需要在组件的抽象角色和具体角色之间增加更多的灵活性时。//例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(字符串产生)覆盖{ cout 入门级白色 _ _ func _ _ endlcout 白色 产生:公共颜色{public:虚拟void fillcolor(字符串产生)覆盖{ cout 入门黑 _ _ func _ _ endlcout 黑色 产生endl;}};test(bridge_module,bridge 1){ color * w = new white;color * blk = new black;矩形rg(w);sq sq(黑色);sq。draw shape;rg。draw shape;}
代理模式:
类服务{public: int query data{//server,cout 这是服务数据 endl返回0;}};//代理模式类c proxy {privat: c proxy{ }静态cproxy *实例;服务m _ serverpublic:静态c proxy * getinstance{ if(instance = = nullptr){ instance = new c proxy;}返回实例;} static c proxy get proxy{ static c proxy single;退单;} int querydata {//代理访问服务器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;}
轻量级模式
//享受元模式共享数据类共享选项{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;股份认购n* opt4 = sf。getshareopention( 第一 );opt 4-option;sharedoption* opt5 = sf。getshareopention( 二 );opt 5-option;}
标签:
界面模式
了解更多适配器模式桥接模式(适配器模式和桥接模式之间的区别)相关内容请关注本站点。
上一个:外屏碎了一个角有必要换吗(换个外屏怀疑把我内屏换了)
下一个:西数固态硬盘哪个型号好,西数笔记本硬盘哪款好

小青柑 一杯一个温暖的好心情
施工员需要掌握哪些知识?
win10蓝屏0xc00000e9(win10蓝屏0xc0000185怎么解决)
win11纯净正式版(windows 11精简版)
浓热红茶可防皮肤癌
植物组培生产商业化经营管理
电工急救知识有哪些?
qq新闻怎么关闭手机,新版手机qq消息怎么退出
俄罗斯的茶炊
为什么申请域名?域名怎么申请?