设计模式一适配器模式
原创
©著作权归作者所有:来自51CTO博客作者mb60eff2cbdd364的原创作品,请联系作者获取转载授权,否则将追究法律责任
概述
将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作
实现:
定义一个适配器类来实现当前系统的业务接口,同时又继承现有组件库中已经存在的组件。
目标(Target)接口:
当前系统业务所期待的接口,它可以是抽象类或接口。
适配者(Adaptee)类:
它是被访问和适配的现存组件库中的组件接口。
适配器(Adapter)类:
它是一个转换器,通过继承或引用适配者的对象,
把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者
使用场景
需要开发的具有某种业务功能的组件在现有的组件库中已经存在,
但它们与当前系统的接口规范不兼容,如果重新开发这些组件成本又很高,
这时用适配器模式能很好地解决这些问题。
1 //目标接口
2 interface target {
3 void request();
4 }
5
6 //适配者
7 class adaptee {
8 public void adapteRequest() {
9 System.out.println("适配器方法");
10 }
11 }
12
13 /**
14 * 类适配器
15 */
16
17 //适配器
18 class adapte1 extends adaptee implements target {
19
20 @Override
21 public void request() {
22 adapteRequest();
23 }
24 }
25
26 /**
27 * 对象适配器
28 * 类适配器通过继承来完成适配,
29 * 对象适配器则是通过关联来完成
30 */
31
32 //适配器
33 class adapte2 implements target {
34
35 private adaptee ad = new adaptee();
36
37 @Override
38 public void request() {
39 ad.adapteRequest();
40 }
41 }