设计模式:适配器模式和代理模式的区别

 我来答
流星一道虹
2017-01-13 · TA获得超过169个赞
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:77.8万
展开全部
这是之前我的博客总结的:

Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问。
 例如:经典的体现在Spring AOP切面中,Spring中利用了俩种代理类型。
 其实,代理也分为静态和动态,但是我们一般常用动态,因为静态代理秀不起来

Adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。
其中对象的适配器模式是各种结构型模式的起源,分为三种:类,对象,接口的适配器模式。

结一下三种适配器模式的应用场景:
类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。
对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。
接口的适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。

区别:很明显,适配器模式是因为新旧接口不一致导致出现了客户端无法得到满足的问题,但是,由于旧的接口是不能被完全重构掉的,因为我们还想使用实现了这个接口的一些服务。那么为了使用以前实现旧接口的服务,我们就应该把新的接口转换成旧接口。相比于适配器的应用场景,代理就不一样了,虽然代理也同样是增加了一层,但是,代理提供的接口和原本的接口是一样的,代理模式的作用是不把实现直接暴露给client,而是通过代理这个层,代理能够做一些处理。
深圳市容大彩晶科技有限公司
2024-11-20 广告
作为深圳市容大彩晶科技有限公司的工作人员,我认为我们的广告机操作界面设计直观且人性化,非常友好。它支持触控操作,用户可以通过手指轻松进行各项设置和功能选择,极大地提升了使用的便捷性。无论是单机版还是网络版广告机,都具备触摸版功能,为消费者提... 点击进入详情页
本回答由深圳市容大彩晶科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式