适配器模式和装饰者模式的区别
不悔的年代 提问于2023-10-06 15:49:01
推荐回答
Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问。
例如:经典的体现在Spring AOP切面中,Spring中利用了俩种代理类型。
其实,代理也分为静态和动态,但是我们一般常用动态,因为静态代理秀不起来
Adapter,适配器模式:将一类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。
其中对象的适配器模式是各种结构型模式的起源,分为三种:类,对象,接口的适配器模式。
结一下三种适配器模式的应用场景:
类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。
对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。
接口的适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。
区别:很明显,适配器模式是因为新旧接口不一致导致出现了客户端无法得到满足的问题,但是,由于旧的接口是不能被完全重构掉的,因为我们还想使用实现了这个接口的一些服务。那么为了使用以前实现旧接口的服务,我们就应该把新的接口转换成旧接口。相比于适配器的应用场景,代理就不一样了,虽然代理也同样是增加了一层,但是,代理提供的接口和原本的接口是一样的,代理模式的作用是不把实现直接暴露给client,而是通过代理这个层,代理能够做一些处理。
不悔的年代 2023-10-09 11:07:35
精选问答
相关推荐
鼻酸流鼻涕打喷嚏怎么办 发布时间 2024-04-27
鼻酸、流鼻涕、打喷嚏,多见于过敏性鼻炎的患者。此病主要表现为阵发性喷嚏、流清水样的鼻涕、鼻塞、鼻痒、眼痒。需要去医院检查鼻腔情况,进行过敏原检测,尽量避免接触过敏原。在治疗方面可以进行免疫脱敏治疗,如果无法明确过敏原,可通过药物来控制过敏性鼻炎的症状,常用的药物有抗组胺类、抗白三烯类的药物、鼻喷糖皮质激素等。尽量避...
查看全文>长年口腔溃疡怎么办 发布时间 2024-04-27
如口腔溃疡反复发作,或持续时间较长,建议除积极的局部对症治疗外,还要从以下几方面进行调节:1.免疫力:平时可适当锻炼身体,增强自身免疫力,或在医生指导下服用调节免疫力的药物。2.饮食:要清淡饮食,多吃蔬菜水果,养成规律的进餐习惯,不要偏食。3.精神状态:要保持积极乐观的心态,尽量避免悲观、紧张、焦虑等负面情绪,多休...
查看全文>尿道口出血是怎么回事 发布时间 2024-04-27
尿道口出血多见于尿血患者。其常见的原因如下:一、尿路结石。当结石卡在输尿管或者尿道中容易划破管壁,从而引起出血。如果出血量比较多,会表现为尿液颜色变红,结石卡在输尿管中,还会引起腰痛、恶心、呕吐症状,而结石卡在尿道中,则会引起尿道刺痛不适。二、尿路感染患者也可出现尿血。临床上部分尿路感染患者有炎性物质损伤膀胱黏膜,...
查看全文>