我是靠谱客的博主 老迟到枕头,最近开发中收集的这篇文章主要介绍适配器模式和装饰器模式区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

适配器模式和装饰器模式都可以在原类文件方法的基础上修改、增强,但侧重点不一样,
适配器模式重在将一个接口转换为另一个接口
装饰器模式侧重对原类文件方法的增强,但接口还是同一个接口

适配器模式:

适配器模式:解决原类文件(适配者)和现有需求(目标)相似但不能直接使用的情况。
通过加一层适配器,对现有接口进行增强,用户在使用适配器时无需知道适配器内部的工作细节,
所以适配器类内部可以直接组合现有接口(也就是适配者),
适配者的在适配器中的调用对于用户是无感的,用户只需要关心适配器即可

装饰器模式:

装饰器模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能,通过创建一个包装对象,也就是装饰来包裹真实的对象。
因为装饰器只是增强了原类文件的功能,所以装饰器类和原类文件的接口应该是一样的,在装饰器模式中采用了接口来规范二者的方法,保证方法的一致性【在适配器模式中不需要保证适配器和适配者接口一致】
用户在使用原类文件时可以有选择的对此类进行装饰(即装饰和不装饰),所以用户对原类文件的存在是有感知的,使用聚合的方式传入要装饰的原类对象。
当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。

最后

以上就是老迟到枕头为你收集整理的适配器模式和装饰器模式区别的全部内容,希望文章能够帮你解决适配器模式和装饰器模式区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部