• 定义

将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而

不能一起工作的那些类可以一起工作。

  • 接口和说明
  • java高级设计模式之适配器模式
  • 简单实例:
  • package adaptersimple.example1;
    /**
     * 已经存在的接口,这个接口需要被适配
     * 
     *
     */
    public class Adaptee {
        /**
         * 示意方法,原本已经存在,已经实现的方法
         */
        public void specificRequest() {
            //具体的功能处理
        }
    }
  • 适配器
  • public class Adapter implements Target {

        /**
         * 持有需要被适配的接口对象
         */
        private Adaptee adaptee;
        /**
         * 构造方法,传入需要被适配的对象
         */
        public Adapter(Adaptee adaptee) {
            this.adaptee = adaptee;
        }
        @Override
        public void request() {

            //可能转调已经实现了的方法,进行适配
            adaptee.specificRequest();
        }

  • /**
     * 使用适配器的客户端
     */
    public class Client{
        public static void main(String[] args) {
            //创建需要被适配的对象
            Adaptee adaptee = new Adaptee();
            //创建客户端需要调用的接口对象
            Target target = new Adapter(adaptee);
            //请求处理
            target.request();
        }
    }


  • /**
     * 定义客户端使用的接口,与特定领域相关
     */
    public interface Target {
        /**
         * 示意方法,客户端请求处理的方法
         */
        public void request();
    }

  • 适配器模式的功能
  • 1、 适配器模式的主要功能就是进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。

    2、适配器里面也可以实现功能,称这种适配器为智能适配器。

    四、adaptee和target的关系

    适配器模式中被适配的接口Adaptee和适配称为的接口Target是没有关联的。

    五、适配器的调用模式

  • java高级设计模式之适配器模式

  • 对象组合
  • 适配器的实现方式其实是依靠对象组合的方式。

  • 适配的常见实例
    • 适配器通常是一个类,一般会让适配器类去实现Target接口,然后在适配器的具体实现里面调用Adaptee。
    •  可以在适配器的实现里面,加入新功能的实现,这种适配器被称为智能适配器。
    • 适配多个Adaptee
    • 适配器Adapter实现的复杂程度
    • 适配器Adapter实现的复杂程度,取决于Target和Adaptee的相似程度。

    • 缺省适配
    •    缺省适配的意思是:为一个接口提供缺省实现

       

相关文章:

猜你喜欢
  • 2022-12-23
  • 2021-12-02
  • 2022-01-01
  • 2021-06-14
相关资源
相似解决方案