开发当中我们经常遇到这样的情况:有一些功能自己开发需要花费巨大的成本,但是现存的可供使用的第三方库还不太成熟,我们可以暂时使用这些库。但是,一旦需要修改依赖库的时候,源码也需要大规模地修改,有没有什么方法能够最大限度地降低修改的幅度呢?这时候我们可以考虑使用adapter模式。
一、定义
适配器模式是一种结构型模式。它的目的是使一个类的接口转换成客户希望的另一种接口,适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。
二、结构
适配器模式有两种类型
1.对象适配器模式
在这种模式中,适配器类包含适配对象的实例,这样适配器类就可以调用适配对象的方法了。
2.类适配模式
这种类型的适配器通过多重继承或者实现多个现存的和期望实现(兼容)的类/接口。对于java这种不支持多重继承的语言,一般将待适配的对象声明为Interface。