适配器模式

来源:互联网 发布:优化蜜蜡和天然蜜蜡 编辑:程序博客网 时间:2024/06/06 19:06

      适配器设计模式应用在两个方面:

 

一、

      只对某个接口中的某一个方法感兴趣,如果直接实现这个接口,那么必须重写这个接口中的所有方法。但是我们并不需要

全部这些方法。例如Swing中的事件处理用到了很多适配器模式,比如抽象类MouseInputAdapter,实现了MouseInputListener

接口MouseInputAdapter提供了一些空的方法,所以你可以扩展它重写一些方法来实现你的MouseInputListener接口,而如果

你直接写类实现MouseInputListener接口的话,你就必须写每个方法的实现,这样就比较麻烦,因为有些方法你并不需要用到。

 

二、

      通常,客户类(clients of class)通过类的接口访问它提供的服务。有时,现有的类(existing class)可以提供客户类的功能 需要,但是它所提供的接口不一定是客户类所期望的。这是由于现有的接口太详细或者缺乏详细或接口的名称与客户类所查找的不同等诸多不同原因导致的。

   在这种情况下,现有的接口需要转化(convert)为客户类期望的接口,这样保证了对现有类的重用。如果不进行这样的转化,客户类就不能利用现有类所 提供的功能。适配器模式(Adapter Pattern)可以完成这样的转化。适配器模式建议定义一个包装类,包装有不兼容接口的对象。这个包装类指的 就是适配器(Adapter),它包装的对象就是适配者(Adaptee)。适配器提供客户类需要的接口,适配器接口的实现是把客户类的请求转化为对适配 者的相应接口的调用。换句话说:当客户类调用适配器的方法时,在适配器类的内部调用适配者类的方法,这个过程对客户类是透明的,客户类并不直接访问适配者 类。因此,适配器可以使由于接口不兼容而不能交互的类可以一起工作。

原创粉丝点击