桥接模式简要介绍(pdf 16页).ppt_第1页
桥接模式简要介绍(pdf 16页).ppt_第2页
桥接模式简要介绍(pdf 16页).ppt_第3页
桥接模式简要介绍(pdf 16页).ppt_第4页
桥接模式简要介绍(pdf 16页).ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章,桥接模式,适配器模式的原理 适配器模式,有什么优缺点?,回顾,结构模式 适配器模式(Adapter) 桥接模式(Bridge) 组合模式(Composite) 装饰模式(Decorator) 外观模式(Facade) 享元模式(Flyweight) 代理模式(Proxy),本章任务,桥接模式引子,男人约会:男人的约会一定会有女人,但约会地点由女人提出,这样的地点会因为所约女人不同,而有变化。大陈先生,约小雨就要去西餐厅订位,准备玫瑰花;约小雪就要去买电影票,准备爆米花。 在程序中,如何实现?,桥接模式定义,定义 将抽象部分与实现部分分离,使得它们两部分可以独立地变化。,桥接模式结构图,

2、桥接模式参与者,参与者 抽象类(Abstraction) 定义抽象类的接口 维护一个实现类接口的对象 扩充抽象类(Refined Abstraction) 扩充由抽象类定义的接口 实现类接口(Implementor) 定义实现类的接口,这个接口不一定要与抽象类的接口完全一致,事实上这两个接口可以完全不同,一般的讲,实现类接口仅提供基本操作,而抽象类定义的接口可能会做更多更复杂的操作 具体实现类(Concrete Implementor) 实现实现类接口,并且具体实现它。,桥接模式应用,abstract class Engagement public abstract void GetReady

3、(Plan plan); ,抽象类,abstract class Plan public abstract void BringUp(string plan); ,实现类接口,桥接模式应用,class Man:Engagement public override void GetReady(Plan plan) Console.WriteLine(约 + plan.Name); switch (plan.PlanName) case 吃饭: Console.WriteLine(去西餐厅订位,准备玫瑰花。); break; case 看电影: Console.WriteLine(买电影票,准备爆

4、米花。); break; ,扩充抽象类,桥接模式应用,class Woman : Plan public override void BringUp(string plan) this.PlanName = plan; ,具体实现类,桥接模式应用,class Program static void Main(string args) Plan xiaoyu = new Woman(); xiaoyu.Name = 小雨; xiaoyu.BringUp(吃饭); Plan xiaoxue = new Woman(); xiaoxue.Name = 小雪; xiaoxue.BringUp(看电影); Man dachen = new Man(); dachen.GetReady(xiaoyu); dachen.GetReady(xiaoxue); Console.ReadLine(); ,客户端调用,桥接模式优缺点,优缺点 优点 可以从接口中分离实现功能,使得设计更具扩展性,这样,客户调用方法时根本不需要知道实现的细节。 减少了子类,使得代码更清洁,生成的执行程序文件更小。 缺点 抽象类与实现类的双向连接使得运行速度减慢。,桥接模式适用性,适用性 想避免抽象方法和其实现方法绑定在一起。 抽象接口和它的实现都需要扩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论