6.Adapter(适配器模式、wrapper包装者模式)

Adapter(适配器模式、wrapper包装者模式)

     其作用是将一个接口转换成客户所期待的另外一个接口。从而让多个类共同工作,而这些类原先因为其接口不兼容而无法共同工作。类似一种接口转换装置。接口改变,是我们在编程的时候经常遇到的头疼问题。软件开发在不断的进步,用于实现某一功能的类(或组件)也不会是一成不变的。如果想要给用户提供ige比较稳定的接口,就需要考虑使用适配器来缓冲和协调不同接口的差异,使不同的被适配的类能通过接口转换而实现它的价值。

     适配器模式也体现了依赖反转法则(DIP),即依赖抽象,而不要依赖具体。适配器本身就是一个抽象层的概念。这样用户接口只依赖于抽象的适配器,而不依赖具体的实现类(那些被适配的类)。当具体类(或组件)发生变化时,通过是陪吃重新匹配了变化的API接口,从而使客户程序保持稳定。因为适配器隔离了具体实现类API接口变化所造成的影响。

 

适用情况:

1.当使用一个现存类(或组件),但你不想要他原来的接口。

2.当你要设计一个可重用的类,需要与其他无关或未知的类合作,也就是这些类不需兼容的接口。

3.你需要使用许多先用的派生类但无法适应所有的接口,而使用一个对象适配器可以转接其基类的接口(只适用于对象的适配器模式)

 

结构:

1.目标(CTarget):定义一个客户端使用的特定接口。

2.客户(CClient):使用目标接口,与和目标接口一致的对象合作。

3.被适配者(CAdaptee):一个现存需要匹配的接口。

4.适配器(CAdapter):负责将CAdaptee的接口转换成CTarget的接口。适配器是一个具体的类,这是本模式的核心。

 

由此可见,但客户端调用Adapter接口时候,Adapter便会调用Adaptee的操作相应请求,该模式就完成了接口的适配过程。

......

 

你可能感兴趣的:(Adapter)