欢迎来到天天文库
浏览记录
ID:57059381
大小:556.50 KB
页数:15页
时间:2020-07-30
《T9_设计模式_桥接模式课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章桥接模式1适配器模式的原理适配器模式,有什么优缺点?回顾结构模式适配器模式(Adapter)桥接模式(Bridge)组合模式(Composite)装饰模式(Decorator)外观模式(Facade)享元模式(Flyweight)代理模式(Proxy)本章任务桥接模式——引子男人约会:男人的约会一定会有女人,但约会地点由女人提出,这样的地点会因为所约女人不同,而有变化。大陈先生,约小雨就要去西餐厅订位,准备玫瑰花;约小雪就要去买电影票,准备爆米花。在程序中,如何实现?桥接模式——定义定义将抽象部分与实现部分分
2、离,使得它们两部分可以独立地变化。桥接模式——结构图桥接模式——参与者参与者抽象类(Abstraction)定义抽象类的接口维护一个实现类接口的对象扩充抽象类(RefinedAbstraction)扩充由抽象类定义的接口实现类接口(Implementor)定义实现类的接口,这个接口不一定要与抽象类的接口完全一致,事实上这两个接口可以完全不同,一般的讲,实现类接口仅提供基本操作,而抽象类定义的接口可能会做更多更复杂的操作具体实现类(ConcreteImplementor)实现实现类接口,并且具体实现它。桥接模式——应
3、用abstractclassEngagement{publicabstractvoidGetReady(Planplan);}抽象类abstractclassPlan{publicabstractvoidBringUp(stringplan);}实现类接口桥接模式——应用classMan:Engagement{publicoverridevoidGetReady(Planplan){Console.WriteLine("约"+plan.Name);switch(plan.PlanName){case"吃饭":Con
4、sole.WriteLine("去西餐厅订位,准备玫瑰花。");break;case"看电影":Console.WriteLine("买电影票,准备爆米花。");break;}}}扩充抽象类桥接模式——应用classWoman:Plan{publicoverridevoidBringUp(stringplan){this.PlanName=plan;}}具体实现类桥接模式——应用classProgram{staticvoidMain(string[]args){Planxiaoyu=newWoman();xiaoy
5、u.Name="小雨";xiaoyu.BringUp("吃饭");Planxiaoxue=newWoman();xiaoxue.Name="小雪";xiaoxue.BringUp("看电影");Mandachen=newMan();dachen.GetReady(xiaoyu);dachen.GetReady(xiaoxue);Console.ReadLine();}}客户端调用桥接模式——优缺点优缺点优点可以从接口中分离实现功能,使得设计更具扩展性,这样,客户调用方法时根本不需要知道实现的细节。减少了子类,使得代
6、码更清洁,生成的执行程序文件更小。缺点抽象类与实现类的双向连接使得运行速度减慢。桥接模式——适用性适用性想避免抽象方法和其实现方法绑定在一起。抽象接口和它的实现都需要扩展出子类以备使用。变动实现的方法根本不会影响客户程序调用部分(甚至不用重新编译)总结简单描述下,什么是桥接模式?桥接模式,有什么优缺点?谢谢!
此文档下载收益归作者所有