*将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
*其意思就是说:我们需要一种方法,可以提供接口,让内容合适但接口不匹配的对象同样可以被利用。
*意图是:将一个无法控制的现有的对象与一个特定接口相匹配。
*实现的方法可以是: 将现存的类包含在另一个类之中。包容类与需要的接口相匹配,并调用被包容类的方法。
*Adapter有两种类型:
对象Adapter模式 :依赖于一个对象(适配对象)包含另一个对象(被适配对象)
和 类Adapter模式:使用多重继承。
Facade模式和Adapter的模式的比较:
1 在两个模式中,都拥有现存类。
2 在Facade模式中,我们无须针对某个接口进行设计;而在Adapter模式中我们则必须针对某个特定接口进行设计。
3 在Facade模式中我们进多态用的不多。而在Adpter模式中我们可能对多态用的比较多了。
4 在Facade模式中,我们的动机是简化接口。而在Adapter模式中我们的目的针对现在的接口进行设计,并不能简化任何东西,即使可能有另一个更简单的接口。
5 Facade模式简化了接口, 而Adapter模式将接口转换成另一个现有的接口。