Java适配器模式是非常常见的Java设计模式,实际应用非常广泛,下面重点详解Java适配器模式@mikechen
Java适配器模式定义
Java适配器模式是Java设计模式的一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。
Java适配器模式作用
Java适配器模式(Adapter Pattern)主要作用是将一个类的接口转换成客户端所期望的另一个接口。
在实际开发中,Java适配器模式常用于以下场景:
- 重构旧代码:当我们需要重构一个老系统时,可能需要将旧代码中的接口转换成新系统所使用的接口,这时可以使用适配器模式。
- 系统间集成:当我们需要将两个系统集成在一起时,可能需要将其中一个系统的接口转换成另一个系统所使用的接口,这时可以使用适配器模式。
- 应对新接口:当我们需要使用一个新接口,但是这个新接口与原有的接口不兼容时,可以使用适配器模式来将新接口转换成原有接口。
Java适配器模式实现
在Java适配器模式,通常包含以下三个角色:
- 目标接口(Target):客户端所期望的接口,也就是客户端使用的接口。
- 适配器(Adapter):适配器将源接口转换成目标接口,它实现了目标接口,并包含一个对源接口的引用。
- 源接口(Adaptee):需要被适配的接口,也就是客户端原本不能直接使用的接口。
Java适配器模式示例
Java中实现适配器模式通常有两种方式:类适配器模式和对象适配器模式。
1.类适配器模式
类适配器模式:通过继承的方式将源接口转换成目标接口。
示例:
public interface Target { void request(); } public interface Adaptee { void specificRequest(); } public class Adapter extends Adaptee implements Target { @Override public void request() { specificRequest(); } }
具体实现方式是创建一个适配器类(Adapter),它继承自源接口(Adaptee)并实现目标接口(Target)。
Target是目标接口,Adaptee是源接口,Adapter是适配器。
2.对象适配器模式
对象适配器模式:通过组合的方式将源接口转换成目标接口。
示例:
public interface Target { void request(); } public interface Adaptee { void specificRequest(); } public class AdapteeImpl implements Adaptee { @Override public void specificRequest() { // 源接口中的具体实现 } } public class Adapter implements Target { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } @Override public void request() { adaptee.specificRequest(); } }
具体实现方式是创建一个适配器类(Adapter),它实现目标接口(Target),并包含一个对源接口(Adaptee)的引用。
以上就是Java适配器模式详解,更多Java设计模式请查看:Java设计模式:23种设计模式(万字图文全面总结)
陈睿mikechen
十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》