永发信息网

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

答案:2  悬赏:80  手机版
解决时间 2021-02-16 01:03
设计模式:适配器模式和代理模式的区别
最佳答案
设计模式不针对某种特定语言,对C#/java/c++来说都一样
  代理模式主要用在真实的类代价昂贵的地方,比如支付宝如果说要测试购买,如果说他们的测试人员真的要购买下单然后收货,恐怕费用很高,所以就可以弄一些假的卖家,假的快递员等类,也就是代理类
  适配器模式主要是用在现有类的接口与需要的不一致,比如说你手机充电的接口是圆的,而现在手头只有一根接口为扁形的充电器,那就没法使用,得使用一个适配器,输入为扁形,输出为圆形
全部回答
这是之前我的博客总结的: proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问。  例如:经典的体现在spring aop切面中,spring中利用了俩种代理类型。  其实,代理也分为静态和动态,但是我们一般常用动态,因为静态代理秀不起来 adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。 其中对象的适配器模式是各种结构型模式的起源,分为三种:类,对象,接口的适配器模式。 结一下三种适配器模式的应用场景: 类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。 对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个wrapper类,持有原类的一个实例,在wrapper类的方法中,调用实例的方法就行。 接口的适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。 区别:很明显,适配器模式是因为新旧接口不一致导致出现了客户端无法得到满足的问题,但是,由于旧的接口是不能被完全重构掉的,因为我们还想使用实现了这个接口的一些服务。那么为了使用以前实现旧接口的服务,我们就应该把新的接口转换成旧接口。相比于适配器的应用场景,代理就不一样了,虽然代理也同样是增加了一层,但是,代理提供的接口和原本的接口是一样的,代理模式的作用是不把实现直接暴露给client,而是通过代理这个层,代理能够做一些处理。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
创世纪最后一部好像有张家辉的,他和蔡少芬演
幼儿小班表演游戏小鸡生病效果分析
物流上海到辽宁 下一站是哪
商城县菜鸟驿站(信阳平桥西区市场花园路55号
已知i是虚数 关于X的方程为x^2-x+(x+2i)=3+7i
房建内架、3.5米层高、1米标高、700×350的粱
guang用声调,加汉字怎么填写
ix35变速器属于at cvt dsg
御龙桥酒店地址在什么地方,想过去办事
工行的双币种VISA卡开通了人民币和港币,能在
马自达6报P2100节气门执行器电路开路怎么解决
已知:某钆态烷烃在标准状态下的密度为1.964g/
老田扯面地址在哪,我要去那里办事
杞县开封海尔(葛岗店)地址在哪,我要去那里
房产税退税问题
推荐资讯
小猫吃了易拉罐的铁片怎么办
我国参加护航行动为什么不是我国作为联合国安
孔圣之家酒
请把你看完漫画《看谁快》后的感想,联系生活
1942年国统区某报纸评论:“平时军人开小差,
有关数列极限的题目已知f(x)=(3x+1)/(x+3),
镜子放在房间里的什么位置最合适?
攀枝花的平安保险公司在哪???(给个具体位
学习方法报购物网站想知道我订的报纸发了没
梦见大海波涛汹涌
为什么有的超市把云南白药牙膏的空盒放在货架
表示花名称的四字词语有哪些
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?