Adapter设计模式本身并没有什么特别,直观地说就是接口封装,在使用到第三方库时我们常常用到,第三方库提供的接口过于全面,参数过多,在我们实际应用中可能不会用到,通过进一步封装,提供很好的实际接口。
Class Target
Class Adapter
Class Adaptee
基本上就是三个类协调,不同在于Adapter与Adaptee的关系连接将会分成接口继承 实现继承
接口继承,实现继承
Class Adapter : public Target, public Adaptee
Adapter公共继承了Adaptee,继承了他的接口和实现
接口继承
Class Adapter : public Target
{
public:
Adapter(Adaptee *adp);
private:
Adaptee _adp;
}
将Adaptee的一个对象作为一个私有属性,继承了其接口。
想到的就这么多了……呵呵