本文主要介绍适配器模式桥接模式(适配器模式和桥接模式之间的区别),下面一起看看适配器模式桥接模式(适配器模式和桥接模式之间的区别)相关资讯。
适配器模式:
//适配器模式将一个类的接口转换成客户想要的另一个接口//接口层类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壁纸自动更换怎么关闭(windows壁纸自动更换)
六代酷睿i3(6代i3参数)
电脑硬盘固态和机械硬盘哪个好(电脑固态和机械硬盘)
荣耀v8怎么调节分辨率,为什么我的荣耀V8分辨率才怎么点
搜狗输入法 mac设置方法视频(搜狗输入法 mac设置方法图片)
适配器模式 桥接模式(适配器模式和桥接模式的区别)
小米5尊享版上市价格(小米5尊享版和普通有什么区别)
华为高端旗舰机排行榜(华为最强旗舰机)
win10电脑之间怎么共享文件(window10怎么设置文件共享)
电脑最耐玩单机游戏(2021年最好玩电脑单机游戏排行榜前十名推荐)
如何手动停止sppsvc服务(sysprep怎么关闭)
win10删除流氓弹窗的终极方法(window10如何删除流氓软件)
设备管理信息系统,怎么用livebos studio做一个设备管理系统
ipad如何为软件应用设置全屏显示时间(ipad如何为软件应用设置全屏显示图标)
在移动硬盘装游戏运行起来有影响吗(移动硬盘安装游戏会卡吗)
电脑realtek在哪打开(怎么找realtek)
笔记本电脑的品控是什么意思(什么牌子的笔记本品控好)
怎么禁用应用程序,如何禁止手机后台程序
网络安全在哪里学最好,哪里学网络安全最好
主板故障排除方法图解(主板故障排除方法视频)_1