欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件设计模式ch7 - 适配器模式和外观模式.ppt

    • 资源ID:69530475       资源大小:3.59MB        全文页数:58页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件设计模式ch7 - 适配器模式和外观模式.ppt

    软件设计方法及设计模式软件设计方法及设计模式张聚礼张聚礼张聚礼张聚礼 副教授副教授副教授副教授/系统分析师系统分析师系统分析师系统分析师适配器模式和外观模式适配器模式和外观模式7一一二二三三四四五五六六适配器实例适配器实例适配器实例适配器实例定义适配器模式定义适配器模式定义适配器模式定义适配器模式将枚举适配到迭代器将枚举适配到迭代器将枚举适配到迭代器将枚举适配到迭代器家庭影院家庭影院家庭影院家庭影院定义外观模式定义外观模式定义外观模式定义外观模式“最少知识最少知识最少知识最少知识”原则原则原则原则主要内容主要内容一、适配器实例一、适配器实例我们周围的适配器我们周围的适配器 面向对象适配器面向对象适配器 (一一)(二二)火鸡适配器火鸡适配器 (三三)(一一)我们周围的适配器我们周围的适配器l例如例如例如例如(二二)面向对象适配器面向对象适配器l两个接口无法匹配,怎么办?两个接口无法匹配,怎么办?两个接口无法匹配,怎么办?两个接口无法匹配,怎么办?(二二)面向对象适配器面向对象适配器l构造一个适配器构造一个适配器构造一个适配器构造一个适配器(二二)面向对象适配器面向对象适配器l那么那么那么那么(二二)面向对象适配器面向对象适配器lOOOO适配器和真实世界的适配器扮演者同样的角色:适配器和真实世界的适配器扮演者同样的角色:适配器和真实世界的适配器扮演者同样的角色:适配器和真实世界的适配器扮演者同样的角色:将一个接口转换成另一个接口,以符合客户的期将一个接口转换成另一个接口,以符合客户的期将一个接口转换成另一个接口,以符合客户的期将一个接口转换成另一个接口,以符合客户的期望。望。望。望。(三三)火鸡适配器火鸡适配器l火鸡怎么冒充鸭子的呢?火鸡怎么冒充鸭子的呢?火鸡怎么冒充鸭子的呢?火鸡怎么冒充鸭子的呢?先看鸭子接口先看鸭子接口先看鸭子接口先看鸭子接口(三三)火鸡适配器火鸡适配器绿头鸭是鸭子绿头鸭是鸭子绿头鸭是鸭子绿头鸭是鸭子(三三)火鸡适配器火鸡适配器现在,有现在,有现在,有现在,有TurkeyTurkey接口接口接口接口(三三)火鸡适配器火鸡适配器WildTurkeyWildTurkey是是是是TurkeyTurkey的一种的一种的一种的一种(三三)火鸡适配器火鸡适配器那么,火鸡要冒充鸭子,就需要适配器。那么,火鸡要冒充鸭子,就需要适配器。那么,火鸡要冒充鸭子,就需要适配器。那么,火鸡要冒充鸭子,就需要适配器。(三三)火鸡适配器火鸡适配器l测试代码测试代码测试代码测试代码(三三)火鸡适配器火鸡适配器lRUNRUN二、定义适配器模式二、定义适配器模式适配器模式解析适配器模式解析 定义定义 (一一)(二二)类图类图 (三三)对象和类的适配器对象和类的适配器 (四四)(一一)适配器模式解析适配器模式解析l看看,它们之间的关系看看,它们之间的关系看看,它们之间的关系看看,它们之间的关系(一一)适配器模式解析适配器模式解析l客户使用适配器的过程如下:客户使用适配器的过程如下:客户使用适配器的过程如下:客户使用适配器的过程如下:客户通过目标接口调用适配器的方法对适配器发出请求客户通过目标接口调用适配器的方法对适配器发出请求客户通过目标接口调用适配器的方法对适配器发出请求客户通过目标接口调用适配器的方法对适配器发出请求适配器使用被适配者接口把请求转换成被适配者的一个适配器使用被适配者接口把请求转换成被适配者的一个适配器使用被适配者接口把请求转换成被适配者的一个适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口或多个调用接口或多个调用接口或多个调用接口客户接收到调用的结果,但并未察觉这一切是适配器在客户接收到调用的结果,但并未察觉这一切是适配器在客户接收到调用的结果,但并未察觉这一切是适配器在客户接收到调用的结果,但并未察觉这一切是适配器在起转换作用起转换作用起转换作用起转换作用(二二)定义定义l适配器模式:将一个类的接口,转换成客户希望的适配器模式:将一个类的接口,转换成客户希望的适配器模式:将一个类的接口,转换成客户希望的适配器模式:将一个类的接口,转换成客户希望的另一个接口。适配器让原本接口不兼容的类合作无另一个接口。适配器让原本接口不兼容的类合作无另一个接口。适配器让原本接口不兼容的类合作无另一个接口。适配器让原本接口不兼容的类合作无间。间。间。间。(三三)类图类图(四四)对象和类的适配器对象和类的适配器三、将枚举适配到迭代器三、将枚举适配到迭代器真实世界的适配器真实世界的适配器 (一一)将枚举适配到迭代器将枚举适配到迭代器 (二二)(一一)真实世界的适配器真实世界的适配器l枚举器枚举器枚举器枚举器(一一)真实世界的适配器真实世界的适配器l迭代器迭代器迭代器迭代器(二二)将枚举适配到迭代器将枚举适配到迭代器l如何实现它们之间的映射如何实现它们之间的映射如何实现它们之间的映射如何实现它们之间的映射(二二)将枚举适配到迭代器将枚举适配到迭代器l设计适配器设计适配器设计适配器设计适配器(二二)将枚举适配到迭代器将枚举适配到迭代器l处理处理处理处理remove()remove()方法方法方法方法枚举不支持删除,因为它是只读的。枚举不支持删除,因为它是只读的。枚举不支持删除,因为它是只读的。枚举不支持删除,因为它是只读的。(二二)将枚举适配到迭代器将枚举适配到迭代器l编写适配器编写适配器编写适配器编写适配器四、家庭影院四、家庭影院家庭影院家庭影院 观赏电影观赏电影 (一一)(二二)灯光、相机、外观灯光、相机、外观 (三三)构造家庭影院外观构造家庭影院外观 实现简化接口实现简化接口 (四四)(五五)(一一)家庭影院家庭影院(二二)观赏电影观赏电影l困难方式困难方式困难方式困难方式(二二)观赏电影观赏电影l写出代码写出代码写出代码写出代码l现在,需要一个外观现在,需要一个外观现在,需要一个外观现在,需要一个外观(三三)灯光、相机、外观灯光、相机、外观(三三)灯光、相机、外观灯光、相机、外观(三三)灯光、相机、外观灯光、相机、外观(四四)构造家庭影院外观构造家庭影院外观(五五)实现简化接口实现简化接口 (五五)实现简化接口实现简化接口 l轻松地观赏电影轻松地观赏电影轻松地观赏电影轻松地观赏电影(五五)实现简化接口实现简化接口 lRUNRUN五、定义外观模式五、定义外观模式定义定义 类图类图 (一一)(二二)l外观模式:提供了一个统一的接口,用来访问子系外观模式:提供了一个统一的接口,用来访问子系外观模式:提供了一个统一的接口,用来访问子系外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,统中的一群接口。外观模式定义了一个高层接口,统中的一群接口。外观模式定义了一个高层接口,统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。让子系统更容易使用。让子系统更容易使用。让子系统更容易使用。(一一)定义定义(二二)类图类图六、六、“最少知识最少知识”原则原则“最少知识最少知识”原则原则 如何做如何做 (一一)(二二)外观和最少知识原则外观和最少知识原则 (三三)(一一)“最少知识最少知识”原则原则l软件设计原则七:软件设计原则七:软件设计原则七:软件设计原则七:最少知识(最少知识(最少知识(最少知识(Least KnowledgeLeast Knowledge)原则:只和自己的密友)原则:只和自己的密友)原则:只和自己的密友)原则:只和自己的密友谈话。谈话。谈话。谈话。(二二)如何做如何做(二二)如何做如何做l例如例如例如例如(二二)如何做如何做l将方法调用保持在界限内将方法调用保持在界限内将方法调用保持在界限内将方法调用保持在界限内(三三)外观和最少知识原则外观和最少知识原则七、总结七、总结AbstractionAbstractionEncapsulationEncapsulationPolymorphismPolymorphismInheritanceInheritanceEncapsulate what Encapsulate what varies.varies.Favor Favor composition over composition over inheritenceinheritence.Program to Program to interfaces,not interfaces,not implementations.implementations.Strategy-defines a Strategy-defines a family of algorithms,family of algorithms,encapsulates each encapsulates each one,and makes them one,and makes them interchangeable.interchangeable.Strategy lets the Strategy lets the algorithm vary algorithm vary independently from independently from clients that use it.clients that use it.总结总结OO BasicsOO BasicsOO PrinciplesOO PrinciplesOO PatternsOO Patterns1Observer-defines a Observer-defines a one-to-many one-to-many dependency between dependency between objects so that when objects so that when one object changes one object changes state,all its state,all its dependents are dependents are notified and updated notified and updated automaticallyautomatically总结总结OO PatternsOO PatternsStrive for loosely Strive for loosely coupled designs coupled designs between objects between objects that interact.that interact.OO PrinciplesOO Principles2Decorator-Attach Decorator-Attach additional additional responsibilities to an responsibilities to an object dynamically.object dynamically.Decorators provide a Decorators provide a flexible alternative to flexible alternative to subclassingsubclassing for for extending extending functionality.functionality.总结总结OO PatternsOO PatternsClasses should Classes should be open for be open for extension but extension but closed for closed for modification.modification.OO PrinciplesOO Principles3Abstract Factory-Abstract Factory-Provide an interface Provide an interface for creating families of for creating families of related or related or depedentdepedent objects without objects without specifying their specifying their concrete classes.concrete classes.Factory Method-Factory Method-Define an interface for Define an interface for creating an object,but creating an object,but let subclasses decide let subclasses decide which class to which class to instantiate.Factory instantiate.Factory Method lets a class Method lets a class defer instantiation to defer instantiation to the subclasses.the subclasses.总结总结OO PatternsOO PatternsDepend on Depend on abstractions.Do abstractions.Do not depend on not depend on concrete classes.concrete classes.OO PrinciplesOO Principles4Singleton-ensures Singleton-ensures a class has only one a class has only one instance,and provides instance,and provides a global point of a global point of access to it.access to it.总结总结OO PatternsOO Patterns5Command-Command-Encapsulates a Encapsulates a request as an object,request as an object,thereby letting you thereby letting you parameterize clients parameterize clients with different with different requests,queue or log requests,queue or log requests,and support requests,and support undoable operations.undoable operations.总结总结OO PatternsOO Patterns6Adapter-converts the Adapter-converts the interface of a class into interface of a class into another interface the another interface the clients expect.Adapter clients expect.Adapter lets classes work lets classes work together that couldnt together that couldnt otherwise because of otherwise because of incompatible interfaces.incompatible interfaces.Facade-Provides a Facade-Provides a unified interface to a set unified interface to a set of interfaces in a of interfaces in a subsystem.Facade subsystem.Facade defines a higher-level defines a higher-level interface that makes the interface that makes the subsystem easier to subsystem easier to use.use.总结总结OO PatternsOO PatternsOnly talk to your Only talk to your friendsfriendsOO PrinciplesOO Principles7

    注意事项

    本文(软件设计模式ch7 - 适配器模式和外观模式.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开