当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

适配器模式和代理模式的区别

发表于: 2015-06-15   作者:bijian1013   来源:转载   浏览:
摘要: 一.简介        适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。      &nbs

一.简介
        适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。
        代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

 

二.困惑
        设计模式总是通过增加层来进行解耦合,提高扩展性,但是如果我们没法从在这个抽象维度中看出,这个层真正的抽象含义,那么我们很难搞懂一个模式真正的内涵?我就有这个疑问,这两个东东都是增加了一层,但是这一层有什么区别?


三.理解
        很明显,适配器模式是因为新旧接口不一致导致出现了客户端无法得到满足的问题,但是,由于旧的接口是不能被完全重构掉的,因为我们还想使用实现了这个接口的一些服务。那么为了使用以前实现旧接口的服务,我们就应该把新的接口转换成旧接口;实现这个转换的类就是抽象意义的转换器。
        就比如在java中早期的枚举接口是Enumeration而后定义的枚举接口是Iterator;有很多旧的类实现了enumeration接口暴露出了一些服务,但是这些服务我们现在想通过传入Iterator接口而不是Enumeration接口来调用,这时就需要一个适配器,那么client就能用这个服务了(服务端只想用Iterator或者只知道这个接口)。
        相比于适配器的应用场景,代理就不一样了,虽然代理也同样是增加了一层,但是,代理提供的接口和原本的接口是一样的,代理模式的作用是不把实现直接暴露给client,而是通过代理这个层,代理能够做一些处理。

 

文章来源:http://blog.sina.com.cn/s/blog_a37588100102uzo0.html

适配器模式和代理模式的区别

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
代理模式 定义:为其他对象提供一种代理以控制对这个对象的访问。 UML图: 举例:就好比古代的皇帝
适配器模式 定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼
一、定义 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 适配器模式(Adapte
转自:http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html 学习AOP时,教材上面都说
转自:http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.html 学习AOP时,教材上面都说
代理模式和装饰者模式上在语法形式上几乎完全一样,那么它们的区别在哪里呢? 装饰者模式:动态地给
一 概念理解 学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么
代理模式VS外观模式VS适配器模式 学习了一个多月的设计模式,下面就对一些比较容易混淆的模式作一些
代理模式VS外观模式VS适配器模式 学习了一个多月的设计模式,下面就对一些比较容易混淆的模式作一些
确定你需要使用哪种设计模式,是根据你 的目的和需求决定的....在看下面的設計模式時,你會發現許多的
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号