zoukankan      html  css  js  c++  java
  • 适配器模式 (学习笔记8)

    原文地址:http://c.biancheng.net/view/1361.html

    什么时候用:

    1. 当前接口不满足第三方系统需求,这种不满足不是根本上的不满足,往往是形式上的,只要加以转换就可以。

    适配器模式(Adapter)包含以下主要角色:

    1. 目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。
    2. 适配者(Adaptee)类:它是被访问和适配的现存组件库中的组件接口。
    3. 适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,让客户按目标接口的格式访问适配者。

    结构图1:

    image

    结构图2:

    image

    示例代码1:

    package adapter;
    //目标接口
    interface Target
    {
        public void request();
    }
    //适配者接口
    class Adaptee
    {
        public void specificRequest()
        {       
            System.out.println("适配者中的业务代码被调用!");
        }
    }
    //类适配器类
    class ClassAdapter extends Adaptee implements Target
    {
        public void request()
        {
            specificRequest();
        }
    }
    //客户端代码
    public class ClassAdapterTest
    {
        public static void main(String[] args)
        {
            System.out.println("类适配器模式测试:");
            Target target = new ClassAdapter();
            target.request();
        }
    }

    示例代码2:

    package adapter;
    //对象适配器类
    class ObjectAdapter implements Target
    {
        private Adaptee adaptee;
        public ObjectAdapter(Adaptee adaptee)
        {
            this.adaptee=adaptee;
        }
        public void request()
        {
            adaptee.specificRequest();
        }
    }
    //客户端代码
    public class ObjectAdapterTest
    {
        public static void main(String[] args)
        {
            System.out.println("对象适配器模式测试:");
            Adaptee adaptee = new Adaptee();
            Target target = new ObjectAdapter(adaptee);
            target.request();
        }
    }
  • 相关阅读:
    详解vue生命周期
    浅谈前端中的mvvm与mvc
    实际项目开发需要注意的tips
    toFixed()一不小心踩了一个坑
    git学习(持续踩坑中🤣)
    webpack基础
    创建git仓库并发布
    注册npm账号
    Invalid left-hand side in assignment
    关于项目中js原型的使用
  • 原文地址:https://www.cnblogs.com/huiy/p/15559568.html
Copyright © 2011-2022 走看看