设计模式---适配器模式
1、定义、构成
适配器模式将一个类的接口,转换成客户期望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作
适配器模式中有4个角色:客户端、目标接口、适配器、被适配类。
客户端想要的接口是目标接口的样子;
被适配器类提供的是接口的另一种样子;
适配器在中间起到一个连接两者的作用,把被适配器类改造为目标接口的样子。
2、原理、分类
把“被适配者”作为一个对象组合到适配器类中,以修改目标接口包装被适配者
1、组合
2、继承采用组合的方式的适配器称为对象适配器特点:把“被适配者”作为一个对象组合到适配器类中,以修改目标接口包装被适配者。采用继承方式的成为类 适配器
特点:通过多重继承不兼容接口,实现对目标接口的匹配,单一的为某个类而实现适配
优缺点:
(1)类适配器模式通过多重继承不兼容接口,实现对目标接口的匹配,单一的为某个类而实现适配的这样一种模式(值得强调的是,java是单一继承)。代码的重用性比较低。
3、作用
(1)透明
通过适配器,客户端可以调用同一接口,因而对客户端来说是透明的。这样做更简单、更直接、更紧凑。
(2)重用
复用了现存的类,解决了现存类和复用环境要求不一致的问题。
(3)低耦合
将目标类和 适配者类 解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码(遵循开闭原则)