《设计模式09》-桥接模式

上传人:人*** 文档编号:569785092 上传时间:2024-07-31 格式:PPT 页数:12 大小:197.50KB
返回 下载 相关 举报
《设计模式09》-桥接模式_第1页
第1页 / 共12页
《设计模式09》-桥接模式_第2页
第2页 / 共12页
《设计模式09》-桥接模式_第3页
第3页 / 共12页
《设计模式09》-桥接模式_第4页
第4页 / 共12页
《设计模式09》-桥接模式_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《《设计模式09》-桥接模式》由会员分享,可在线阅读,更多相关《《设计模式09》-桥接模式(12页珍藏版)》请在金锄头文库上搜索。

1、第三部分结构型设计模式1.桥接模式桥接模式(BridgePattern)2.适配器模式适配器模式(AdpterPattern)3.合成模式合成模式(CompsitePattern)4.门面模式(FacadePattern)5.装饰模式装饰模式(DecoratorPattern)6.代理模式(ProxyPattern)7.享元模式(FlyweightPattern)1桥接模式(BridgePattern)classApublic:virtualA();virtualvoidf();virtualvoidg();private:intx;inty;变化的三个方向:变化的三个方向:1)接口的变化)接

2、口的变化2)实现的变化)实现的变化3)属性的变化)属性的变化(本质上,还本质上,还是实现的变化是实现的变化)适应单个方向的变化v容易v组合和继承方式均可适应接口变化方法classApublic:virtualA();virtualvoidf();virtualvoidg();protected:intx;inty;classNewA:publicApublic:virtualNewA();virtualvoidh();classNewApublic:NewA(A*oldA):pa(oldA)virtualNewA();virtualvoidf()pa-f();virtualvoidg()pa-

3、g();virtualvoidh();private:A*pa;接口变化:增加新的功能接口变化:增加新的功能h()适应实现变化方法classApublic:virtualA();virtualvoidf();virtualvoidg();protected:intx;inty;classNewA:publicApublic:virtualNewA();virtualvoidf()/*新实现*/;classNewApublic:NewA(A*oldA):pa(oldA)virtualNewA();virtualvoidf()/*新实现*/virtualvoidg()pa-g();protecte

4、d:A*pa;多个成员实现的同时变化多个成员实现的同时变化classApublic:virtualA();virtualvoidf();virtualvoidg();protected:intx;inty;classApublic:A(ImpF*f,ImpG*g):pf(f),pg(g)virtualA();virtualvoidf()pf-f();virtualvoidg()pg-g();private:ImpF*pf;ImpG*pg;;classImpFpublic:virtualImpF();vritualvoidf()=0;classImpGpublic:virtualImpG();v

5、ritualvoidG()=0;classImpF1:publicImpFpublic:virtualImpF1();vritualvoidf();classImpG1:publicImpG略略;两个方向同时变化的适应v单一使用组合或继承的不足v结合组合和继承的方式分离变化用组合关联两个方向的变化使单个方向的变化独立出来(独立变化)第一步:分离接口和实现classApublic:virutalA();virtualvoidf();virtualvoidg();classImpApublic:virtualImpA();virtualvoidf();virtualvoidg();protecte

6、d:intx;inty;第二步:用组合连接接口和实现classApublic:virutalA(ImpA*p):impA(p)virtualvoidf()impA-f();virtualvoidg()impA-g();private:ImpA*impA;classImpApublic:virtualImpA();virtualvoidf();virtualvoidg();protected:intx;inty;第三步:使接口和实现的变化独立classApublic:virutalA(ImpA*p):impA(p)virtualvoidf()impA-f();virtualvoidg()impA-g();private:ImpA*impA;classImpApublic:virtualImpA();virtualvoidf();virtualvoidg();protected:intx;inty;classNewA:pubicApublic:virutalNewA(ImpA*p):A(p)virtualvoidh();classImpA1:publicImpApublic:virtualvoidf()/*新实现新实现*/;继承继承继承继承组合组合桥接模式效果v分离了接口及其实现v使得各部分可独立变化、扩展v可对客户隐藏实现部分v也称Handle模式/Handle-Body模式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号