设计模式3适配器摘要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org THU SAGroup 第三章 适配器模式 上节回顾 课程内容 环境及问题 适配器模式详解 适配器模式实现 扩展练习 课程内容 环境及问题 适配器模式详解 适配器模式实现 扩展练习 环境 游戏中的坐骑——五彩神鹿 为了增加游戏的可玩性,我们想让它飞起来! 环境 But, I want Fly!!! 请思考10分钟如何让这只鹿飞起来?? 别忘了我们的原则——修改封闭 问题 想使用一个已经存在的类, 但他的接口不符合需求。? 将一个类的接口转换成客户希望的另外一个接口 使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式(Adapter) 课程内容 环境及问题 适配器模式详解 适配器模式实现 扩展练习 适配器模式( Adapter Pattern) 适配器模式中的有以下的四种角色。 目标(target):定义客户端使用的与特定领域相关的接口。 被适配者(adaptee):定义了一个已经存在的接口,这个接口需要匹配。 适配者(adapter):对Adaptee的接口与target的接口进行适配。 客户端(Client):与符合target接口的对象协同 适配器模式分类 类的适配器模式(采用继承实现) 对象适配器(采用对象组合方式实现) 适配器模式实现步骤 类适配器 确定目标接口 确定被适配者 创建适配器(继承自被适配者,实现目标接口) 对象适配器 确定目标接口 确定被适配者 创建适配器(拥有被适配者的对象,实现目标接口) 课程内容 环境及问题 适配器模式详解 适配器模式实现 扩展练习 适配器模式实现步骤一 被确定目标接口。 适配器模式实现步骤二 被确定被适配者。 适配器模式实现步骤三 创建适配器(类适配器)。 思考对象适配器如何实现? 适配器模式实现步骤三 创建适配器(对象适配器)。 思考:类适配器和对象适配器那个更好 类适配器采用“多继承”的实现方式,带来了不良的高耦合 对象适配器采用“对象组合”的方式,更符合松耦合精神 类适配器无法面对多个被适配对象。 合成复用原则! 课程内容 环境及问题 适配器模式详解 适配器模式实现 扩展练习 案例练习 扩展说明 小结 THANKS Thank You,谢谢! * 在ADO.NET中,对于我们从数据库中取出的数据都要放到一个DataSet中,不管你是Access的数据库,还是SQL的数据库,或者是Oracle的数据库都要放到DataSet中。.NET中并没有提供如:SqlDataSet、OleDbDataSet、OracleDataSet等,它只提供了一种DataSet就是用SqlDataAdapte等去填充数据;为什么这一个DataSet能存放不同的数据呢?就是有这些适配器来适配。 * 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org 任课教师:张伟芝 zhangweizhi@eud2act.org THU SAGroup * 在ADO.NET中,对于我们从数据库中取出的数据都要放到一个DataSet中,不管你是Access的数据库,还是SQL的数据库,或者是Oracle的数据库都要放到DataSet中。.NET中并没有提供如:SqlDataSet、OleDbDataSet、OracleDataSet等,它只提供了一种DataSet就是用SqlDataAdapte等去填充数据;为什么这一个DataSet能存放不同的数据呢?就是有这些适配器来适配。 *

文档评论(0)

boss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档