《Net设计模式实例之适配器模式.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Net设计模式实例之适配器模式

Net设计模式实例之适配器模式(Adapter Pattern) 2010-01-14 16:40:31标签:C#设计模式Net设计模式Designpattern适配器模式适配器实例AdapterPattern原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/1146871/265579一、适配器模式简介(Brief Introduction)适配器模式,将一个类装换成客户期望的另外一个接口。Adapter模式使的原本由于接口不兼容而不能工作的那些类可以一起工作。二、解决的问题(What To Solve)1、使用第三方组件,而这个组件的接口与目前系统接口不兼容(如方法与系统方法不一致等),可以使用适配器模式解决接口不兼容问题。2、使用早前项目一些有用的类,可以用适配器模式解决现有接口与原有对象接口不兼容问题。三、适配器模式分析(Analysis)1、适配器模式结构?????????????2、源代码1、客户期待的接口或者抽象类Targetpublic abstractclassTarget{publicabstractvoid Request();}?2、要适配的类Adaptee,也就是与期望调用接口不相符的类public classAdaptee{publicvoidSepecificRequest() {Console.WriteLine(执行要适配类的特殊请求方法); }}?3、适配器类Adapter,把源接口转换成目标接口,包行变量adapteepublic classAdapter:Target{privateAdapteeadaptee;publicoverridevoid Request() {if (adaptee == null) {adaptee = newAdaptee(); }adaptee.SepecificRequest(); }}?4、客户端代码static voidMain(string[] args){Targettarget = newAdapter();target.Request();Console.Read();}3、程序运行结果?四、案例分析(Example)场景:系统调用第三方计算类库Calculator,一开始调用的是带两个整型参数的Add方法,后来计算类库中的Add方法两个参数变为Float类型,此时再使用就的调用方式需要更改客户代码,这是不好的解决办法,较好的解决办法是,使用适配器模式解决接口不一致问题。Add方法参数变更前的调用方式:???Add方法参数类型变更后,增加适配器类CaculatorAdapter, 解决了接口不一致问题。如下图:??五、总结(Summary)适配器模式,将一个类装换成客户期望的另外一个接口。Adapter模式统一了不兼容对象的接口,使的原本由于接口不兼容而不能工作的那些类可以一起工作。

文档评论(0)

lunwen1978 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档