设计模式之适配器模式
2019-05-10 本文已影响0人
小螺丝钉cici
场景:翻译器(适配全球语言),插座适配器
image.png适配器:适配器将一个类的接口,转换成客户需要的另外一个接口。是原本由于接口不兼容而不能一起工作的哪些类可以在一起工作。
目的:解决不兼容不匹配的问题
原本接口 -> 适配器 -> 目标接口
适配器模式所涉及的角色:
目标角色(Target): 这就是所期待得到的接口。
源角色(Adaptee):需要适配的接口
适配器角色(Adapter):适配器类是本模式的核心。适配器把源接口转换成目标接口。显然,这一角色不可以是接口,而必须是具体类
适配器分类
1 组合
采用组合方式的适配器成为对象适配器
特点:把“被适配者”作为ー个对象组合到适配器类中,以修改目标接口包装被适配者
2 继承(Java单继承)
采用继承方式的称为类适配器
特点:通过多重继承不兼容接口,实现对目标接口的匹配,单一的为粜个类而实现适配
适配器作用
1、透明
通过适配器,客户端可以调用同一接口,因而对客户端来说是透明的。这样做更简单、更直接、更紧凑
2、重用
复用了现存的类,解決了现存类和复用环境要求不一致的问题
3、低耦合
将目标类和适配者类解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码(遵循开闭原则)