- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
20140422 第8章 适配器模式.pdf
第8章
适配器模式
本章教学内容
结构型模式
结构型模式概述
合成复用原则
适配器模式
问题背景
模式定义与分析
模式实例与解析
模式优缺点与扩展
结构型模式概述
结构型模式(Structural Pattern)描述如何将类或者对
象结合在一起形成更大的结构,就像搭积木,可以通过
简单积木的组合形成复杂的、功能更为强大的结构。
结构型模式概述
结构型模式可以分为类结构型模式和对象结构型模式:
• 类结构型模式关心类的组合,由多个类可以组合成一
个更大的系统,在类结构型模式中一般只存在继承关
系和实现关系。
• 对象结构型模式关心类与对象的组合,通过关联关系
使得在一个类中定义另一个类的实例对象,然后通过
该对象调用其方法。根据“合成复用原则”,在系统
中尽量使用关联关系来替代继承关系,因此大部分结
构型模式都是对象结构型模式。
结构型模式概述
适配器模式(Adapter)
桥接模式(Bridge)
组合模式(Composite)
装饰模式(Decorator)
外观模式(Facade)
享元模式(Flyweight)
代理模式(Proxy)
本章教学内容
结构型模式
结构型模式概述
合成复用原则
适配器模式
问题背景
模式定义与分析
模式实例与解析
模式优缺点与扩展
合成复用原则定义
合成复用原则(Composite Reuse Principle, CRP)
又称为组合/聚合复用原则(Composition/
Aggregate Reuse Principle, CARP) ,其定义如下:
• 尽量使用对象组合,而不是继承来达到复用的目
的。
其英文定义为:
• Favor composition of objects over inheritance as
a reuse mechanism.
合成复用原则分析
合成复用原则就是指在一个新的对象里通过关联关
系(包括组合关系和聚合关系)来使用一些已有的
对象,使之成为新对象的一部分;新对象通过委派
调用已有对象的方法达到复用其已有功能的目的。
简言之:要尽量使用组合/聚合关系,少用继承。
合成复用原则分析
在面向对象设计中,可以通过两种基本方法在不同的
环境中复用已有的设计和实现,即通过组合/聚合关系
或通过继承。
• 继承复用:实现简单,易于扩展。破坏系统的封装性;从基类
继承而来的实现是静态的,不可能在运行时发生改变,没有足
够的灵活性;只能在有限的环境中使用。( “白箱”复用 )
• 组合/聚合复用:耦合度相对较低,选择性地调用成员对象的
操作;可以在运行时动态进行。( “黑箱”复用 )
合成复用原则分析
组合/聚合可以使系统更加灵活,类与类之间的耦合度
降低,一个类的变化对其他类造成的影响相对较少,
因此一般首选使用组合/聚合来实现复用;其次才考虑
继承,在使用继承时,需要严格遵循里氏代换原则,
有效使用继承会有助于对问题的理解,降低复杂度,
而滥用继承反而会增加系统构建和维护的难度以及系
统的复杂度,因此需要慎重使用继承复用。
本章教学内容
结构型模式
结构型模式概述
合成复用原则
适配器模式
问题背景
模式定义与分析
模式实例与解析
模式优缺点与扩展
问题背景
问题背景
在软件开发中采用类似于电源适配器的设计和编码技巧被称为
适配器模式。
通常情况下,客户端可以通过目标类的接口访问它所提供的服
务。有时,现有的类可以满足客户类的功能需要,但是它所提
供的接口不一定是客户类所期望的,这可能是因为现有类中方
法名与
您可能关注的文档
- 2013人教版九年级物理物理第十五章第一节电荷同步练习题2.doc
- 2013公司计算机考试题库格式.xls
- 2013军转:行测数量关系 植树问题.doc
- 2013北京市高考物理部分(带答案).pdf
- 2013南平质检物理部分.doc
- 2013备战高考之物理一轮复习讲义27 带电粒子在相邻不同方向匀强磁场中的运动 新人教版.doc
- 2013大庆市中考一模.pdf
- 2013学年第二学期高二物理期中考(符答案).doc
- 2013届(第1期)专题4_曲线运动.doc
- 2013届高三新人教版物理课时作业37 磁场对运动电荷的作用.doc
- 小学二年级下册数学奥数知识点讲解第13课《画图显示法》试题附答案.doc
- 小学三年级下册数学奥数知识点讲解第11课《鸡兔同笼问题》试题附答案.doc
- 小学二年级上册数学奥数知识点讲解第11课《画图凑数法》试题附答案.doc
- 小学三年级下册数学奥数知识点讲解第8课《差倍问题》试题附答案.doc
- 小学三年级下册数学奥数知识点讲解第5课《归一问题》试题附答案.doc
- 小学三年级下册数学奥数知识点讲解第3课《多笔画及应用问题》试题附答案.doc
- 小学五年级下册数学奥数知识点讲解第7课《从不定方程的整数解》试题附答案.doc
- 小学五年级下册数学奥数知识点讲解第14课《综合题选讲》试题附答案.doc
- 小学二年级上册数学奥数知识点讲解第3课《认识简单数列》试题附答案.doc
- 小学二年级上册数学奥数知识点讲解第10课《猜猜凑凑》试题附答案.doc
文档评论(0)