一.什么是适配器模式?
将一个接口转换成客户希望的另一个接口,使接口不兼容的哪些类可以一起工作,其别名为包装器。
二.适配器模式的应用场景是什么?
1.系统需要使用一些现有的类,但是这些类的接口不符合系统要求。
2.想创建一个可以重复使用的类,用于彼此之间没有太大关联关系的一些类,包括一些可能在将来引进的类一起工作。
三.适配器模式的分类有几种?
1.对象适配模式
结构图
2.类适配模式
结构图
3.双向适配器
结构图
4.缺省适配器
结构图
注:
1.Target:目标抽象类,定义客户所需接口,可以是一个抽象类或接口,也可以是一个具体的类。
2.Adapter:适配器类,作为一个转换器,对Adaptee和Target进行适配。
3.Adaptee:适配者类,即被适配的角色,定义了一个已经存在的接口,通常是一个具体的类,其中包含了客户需要使用的业务方法。
四.适配器模式的优缺点都有什么?
1.优点
① 将目标类和适配者解耦,通过引入一个适配器类来重用现有的适配者类,无需修改原有结构。
② 增加了类的透明性和复用性,将具体的业务实现过程封装到适配者类中,对于客户端而言是透明的,而且增加了适配者的复用性,同一个适配者类可以在不同的系统中调用。
③ 灵活性和扩展性好。
2.缺点
① 类适配器在java等单继承语言环境下,一次最多只能适配一个适配者类,不能同时适配多个适配者。
② 类适配器中适配者类不能为最终类。
③ 类适配器中的目标抽象类只能为借口不能为类,使其使用存在了一定的局限性。
④ 对象适配器中置换适配者的某些方法比较麻烦。