zoukankan      html  css  js  c++  java
  • 设计模式之适配器模式

    adapter模式:

    • 将一个类的接口转换成客户希望的另一个接口,Adapter模式使用得原本由于接口不兼容而不有一起工作的寻些类可以在一起工作

    模式中的角色:

    • 目标接口(Target):客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口

    • 需要适配的类(Adaptee):需要适配的类或适配者类

    • 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口

    目标接口

    package designmode.adapter;
    /**
     * 目标接口
     * @author baiyi
     *
     */
    public interface Target {
        public void handleReq();
    }
    

    适配器:

    package designmode.adapter;
    /**
     * 适配器
     * @author baiyi
     *
     */
    public class Adapter implements Target{
    
    
        private Adaptee adaptee;
        @Override
        public void handleReq() {
            adaptee.request();
        }
        public Adapter(Adaptee adaptee) {
            this.adaptee = adaptee;
        }
        public Adapter() {
    
        }
    
    
    
    }
    
    

    需要适配的类:

    package designmode.adapter;
    /**
     * 被适配器
     * @author baiyi
     *
     */
    public class Adaptee {
        public void request() {
            System.out.println("开始打字!!!!");
        }
    }

    客户端

    package designmode.adapter;
    public class Client {
    
        public void test(Target t) {
            t.handleReq();
        }
    
        public static void main(String[] args) {
            Client c = new Client();
            Adaptee a = new Adaptee();
            Target t = new Adapter(a);
            c.test(t);
        }
    }
    




  • 相关阅读:
    PHP错误报告级别及调整方法
    使用微妙计算PHP脚本执行时间
    修改PHP的默认时区
    Rabbimq 安装过程,还有踩得坑!centos 安装
    "services "kubernetes-dashboard" not found"
    转载
    安装php rabbitmq扩展,继上一篇安装Rabbitmq
    php hash_file
    composer 安装
    php 朴韩屏
  • 原文地址:https://www.cnblogs.com/baiyifengyun/p/14224765.html
Copyright © 2011-2022 走看看