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();
        }
    }
  • 相关阅读:
    mysql 按出现次数排序
    拼接sql
    java 操作 excel
    jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
    android压力测试命令monkey详解
    java css
    iss 默认上传大小为30 M
    PHP自动生成后台导航网址的最佳方法
    PHP 文件上传的综合实例
    php字符串首字母转换大小写的实例
  • 原文地址:https://www.cnblogs.com/huiy/p/15559568.html
Copyright © 2011-2022 走看看